jQuery验证带有路径参数的远程选项

时间:2018-10-26 17:41:42

标签: javascript jquery jquery-validate

我的一个表单中的一个字段进行了远程调用以验证名称的可用性。默认情况下,验证插件要使用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

我设法说服后端仅更新服务,以便它可以接受查询字符串并以其预期方式运行。这带来了一个新问题,但这可能会引起另一个问题。我通常不介意继续作为进一步研究的“测试对象”(以防其他人遇到像我最初的问题一样的问题),但是我没有准备好运行两个独立的环境。

1 个答案:

答案 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()
  {...}

希望这对您有帮助!