为什么 jQuery 验证显示单词 'false' 而不是我的自定义消息?
Why does jQuery validation display the word 'false' instead of my custom message?
我有一个 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',如下所示
我的控制器 returns JSON 格式为 true 或 false,我知道在满足条件时正在读取消息,因为我尝试了以下操作并且调试器行被命中:
messages: {
NINumber : {
remote: function(){
debugger;
return 'NI Number used by existing employee'
}
}
}
为什么它会读取要显示的消息而不是显示单词 'false'?
问题在于,当我的 Web 控制器从 API 控制器获取 true/false 时,我返回的是字符串形式的 true 或 false,而不是布尔值。一旦我将输入转换为布尔值并返回它,验证就按预期进行了。
我有一个 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',如下所示
我的控制器 returns JSON 格式为 true 或 false,我知道在满足条件时正在读取消息,因为我尝试了以下操作并且调试器行被命中:
messages: {
NINumber : {
remote: function(){
debugger;
return 'NI Number used by existing employee'
}
}
}
为什么它会读取要显示的消息而不是显示单词 'false'?
问题在于,当我的 Web 控制器从 API 控制器获取 true/false 时,我返回的是字符串形式的 true 或 false,而不是布尔值。一旦我将输入转换为布尔值并返回它,验证就按预期进行了。