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

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

来自分类Dev

动态添加输入字段值 jQuery

来自分类Dev

验证动态输入字段 Jquery

来自分类Dev

动态添加表单输入字段

来自分类Dev

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

来自分类Dev

验证动态添加的字段

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用wtforms动态添加输入字段

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

ReactJS动态添加多个输入字段

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

用jQuery动态添加字段

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

    动态添加输入字段值 jQuery

  6. 6

    验证动态输入字段 Jquery

  7. 7

    动态添加表单输入字段

  8. 8

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

  9. 9

    验证动态添加的字段

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

    使用wtforms动态添加输入字段

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

    ReactJS动态添加多个输入字段

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

    用jQuery动态添加字段

热门标签

归档