我的一个表单中的一个字段进行了远程调用以验证名称的可用性。默认情况下,验证插件要使用GET,并在查询字符串后附加字段名称的键和字段值的值。
您可以通过更改为POST并设置数据值来覆盖它。
但是,在两种情况下,URL本身都是静态的。例如,但默认情况下,您不需要的更多:
remote: {
url: '/validationService'
}
哪个将对/validationService?fieldname=fieldvalue
进行
由于“远程”是一个初始化时间参数,因此通常不能使用动态URL。我尝试放入一个函数表达式,它只是将其字符串化而不是对其求值。
问题
我需要它是动态的。该字段的值作为路径参数传递。换句话说,当验证被触发时,它将向以下请求发送请求:
validationService/fieldvalue
(不用担心,validationService只能处理该特定字段,因此不需要在任何地方指定字段名称)没有POST或附带的有效负载,尽管它是GET,但是没有查询字符串。 / p>
有什么想法可以做到吗? (根据验证时字段的当前值动态评估的URL)
其他详细信息
验证服务返回的JSON格式如下:
{
comment: "Success OR error message",
isValid: true
}
因此,要知道它是否成功,我需要获取消息(据我所知是异步操作),然后评估“ isValid”参数。理想情况下,我也将注释作为“消息”。
更新2
我设法说服后端仅更新服务,以便它可以接受查询字符串并以其预期方式运行。这带来了一个新问题,但这可能会引起另一个问题。我通常不介意继续作为进一步研究的“测试对象”(以防其他人遇到像我最初的问题一样的问题),但是我没有准备好运行两个独立的环境。
答案 0 :(得分:0)
使用委托给远程方法的自定义方法(由插件提供)(http://docs.jquery.com/Plugins/Validation/Validator/addMethod),并添加与该方法匹配的类选择器。
public class abc()
{
private String value;
private int some_id_of_a_record;
private String anotherString;
public String getValue()
{...}
public int getSome_id_of_a_record()
{...}
public String getAnotherString()
{...}
希望这对您有帮助!