jQuery对照其他动态添加的输入字段验证动态添加的输入字段

阿莱丁·希迪(Alaeddine Hedhly)

我有多对输入字段,用于开始和结束日期:

@foreach (var exam in exams){
        <input type="date" data-val="true" required id="StartDate" value="exam.StartDate">
        <input type="date" data-val="true" data-val-endError="Can't be before start date" required>
}

我正在使用jQuery的validator.AddMethod来验证结束日期在开始日期之后:

$.validator.addMethod("endError",
function (value, element, params) {

    var startDate = $("#StartDate").on('input').val();

    if (value.toString() <= startDate) {
        return false;
    } else {
        return true;
    }
});

$.validator.unobtrusive.adapters.addBool("endError");

问题是验证总是将结束日期与第一个开始日期进行比较。我希望将每个结束日期与其相关的开始日期进行比较。

我仍然是JavaScript的新手,但我知道这可能是由于所有startDate输入的ID相同而导致的,这是非法的html。

有没有办法来解决这个问题?谢谢!

法国式

您的代码的问题是您始终引用相同的ID,StartDate因此其正常验证总是从相同的开始日期开始。如果您有很多相同的ID,则ID的搜索始终会始终从头开始。

@foreach (var exam in exams){
        <input type="date" data-val="true" required id="****StartDate*****" value="exam.StartDate">
        <input type="date" data-val="true" data-val-endError="Can't be before start date" required>
}

并且您为不同的标签使用了相同的ID,但在html中效果不好。

在验证器中,您引用StartDate ID

var startDate = $("#StartDate").on('input').val();

一种解决方案是创建一个索引的id:

@{int i=1;}
@foreach (var exam in exams){
        <input type="date" data-val="true" required id="StartDate@(i)" value="exam.StartDate">
        <input type="date" data-val="true" data-val-endError="Can't be before start date" required>

    i++;
}

您可以使验证器捕获正确的ID。

我建议您data-id例如创建一个属性,然后将StarDate的ID放入:因此在验证器中,您将捕获正确日期的ID

$.validator.addMethod("endError", function (value, element, params) {
    var idstartDate = $(element).attr("data-id");
    var startDate= $(idstartDate).on('input').val();
      :

然后您修改循环:

@{int i=1;}
@foreach (var exam in exams){
        <input type="date" data-val="true" required id="StartDate@(i)" value="exam.StartDate">
        <input type="date" data-id="#StartDate@(i)" data-val="true" data-val-endError="Can't be before start date" required>

    i++;

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery验证添加动态所需的输入

来自分类Dev

jQuery的动态添加李与输入字段

来自分类Dev

jQuery-动态添加的输入字段不会发送值

来自分类Dev

动态添加输入字段的键盘功能

来自分类Dev

使用Angular动态添加输入字段并执行模糊验证

来自分类Dev

验证动态添加的字段

来自分类Dev

使用wtforms动态添加输入字段

来自分类Dev

jQuery验证忽略动态添加的字段

来自分类Dev

React:动态添加输入字段以形成表单

来自分类Dev

jQuery表单验证以动态添加字段

来自分类Dev

Flask在第一次验证时不知道动态添加的输入字段

来自分类Dev

jQuery对照其他动态添加的输入字段验证动态添加的输入字段

来自分类Dev

与其他输入动态添加和删除输入

来自分类Dev

jQuery验证添加动态所需的输入

来自分类Dev

jQuery验证插件.rules()无法与动态添加的输入字段一起正常工作

来自分类Dev

用jQuery动态添加字段

来自分类Dev

Lucene搜索查询动态更新并添加其他查询字段?

来自分类Dev

动态添加其他文本输入字段后,jQuery自动完成失败

来自分类Dev

如何使用jQuery动态添加/删除文件类型输入字段?

来自分类Dev

无法为动态生成的输入字段添加jQuery验证?

来自分类Dev

动态添加表单输入字段

来自分类Dev

根据用户选择动态添加输入字段

来自分类Dev

添加文件类型的动态输入字段,并预览

来自分类Dev

ReactJS动态添加多个输入字段

来自分类Dev

动态添加的输入字段通过验证并提交不能到另一个页面

来自分类Dev

在动态添加的 jQuery 自动完成输入字段中更改任何输入字段时,所有输入字段都会更改

来自分类Dev

如何添加输入字段并动态选择?

来自分类Dev

验证动态输入字段 Jquery

来自分类Dev

动态添加输入字段值 jQuery

Related 相关文章

  1. 1

    jQuery验证添加动态所需的输入

  2. 2

    jQuery的动态添加李与输入字段

  3. 3

    jQuery-动态添加的输入字段不会发送值

  4. 4

    动态添加输入字段的键盘功能

  5. 5

    使用Angular动态添加输入字段并执行模糊验证

  6. 6

    验证动态添加的字段

  7. 7

    使用wtforms动态添加输入字段

  8. 8

    jQuery验证忽略动态添加的字段

  9. 9

    React:动态添加输入字段以形成表单

  10. 10

    jQuery表单验证以动态添加字段

  11. 11

    Flask在第一次验证时不知道动态添加的输入字段

  12. 12

    jQuery对照其他动态添加的输入字段验证动态添加的输入字段

  13. 13

    与其他输入动态添加和删除输入

  14. 14

    jQuery验证添加动态所需的输入

  15. 15

    jQuery验证插件.rules()无法与动态添加的输入字段一起正常工作

  16. 16

    用jQuery动态添加字段

  17. 17

    Lucene搜索查询动态更新并添加其他查询字段?

  18. 18

    动态添加其他文本输入字段后,jQuery自动完成失败

  19. 19

    如何使用jQuery动态添加/删除文件类型输入字段?

  20. 20

    无法为动态生成的输入字段添加jQuery验证?

  21. 21

    动态添加表单输入字段

  22. 22

    根据用户选择动态添加输入字段

  23. 23

    添加文件类型的动态输入字段,并预览

  24. 24

    ReactJS动态添加多个输入字段

  25. 25

    动态添加的输入字段通过验证并提交不能到另一个页面

  26. 26

    在动态添加的 jQuery 自动完成输入字段中更改任何输入字段时,所有输入字段都会更改

  27. 27

    如何添加输入字段并动态选择?

  28. 28

    验证动态输入字段 Jquery

  29. 29

    动态添加输入字段值 jQuery

热门标签

归档