【问题标题】:Why does jQuery validation display the word 'false' instead of my custom message?为什么 jQuery 验证显示单词 'false' 而不是我的自定义消息?
【发布时间】:2020-09-04 13:19:00
【问题描述】:

我有一个如下所示的 jquery 验证规则:

NINumber: {
                required: true,
                remote: {
                    url:'/employee/isninumberunique',
                    type: "post",
                    data: {
                        'niNumber': function(){return $('#txtNINumber').val();}
                    }
                }
            }

在定义了我的规则之后,我定义了自定义消息,如下所示:

messages: {
            NINumber : {
                remote: 'NI Number used by existing employee'
            }
        }

但是,当满足失败的条件时(输入不是唯一的),它会显示消息“false”,如下所示

我的控制器以 JSON 格式返回 true 或 false,我知道当条件满足时正在读取消息,因为我尝试了以下操作并且调试器行被命中。:

            messages: {
            NINumber : {
                remote: function(){
                    debugger;
                    return 'NI Number used by existing employee'
                }                  
            }
        }

为什么它会阅读要显示的消息而不是显示单词“false”?

【问题讨论】:

  • 如果无法查看导致问题的服务器端代码,该问题对其他人来说不是很有用。另外仅供参考 - 您不需要 data 参数,因为来自正在验证的字段的数据已经发送。 data参数仅在还需要发送其他数据时使用。

标签: javascript jquery .net jquery-validate


【解决方案1】:

问题在于,当我的 Web 控制器从 API 控制器获取真/假时,我将真或假作为字符串而不是布尔值返回。一旦我将输入转换为布尔值并返回它,验证就会按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-22
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2021-02-24
    • 1970-01-01
    相关资源
    最近更新 更多