gpt4 book ai didi

javascript - 如何在 formValidation 插件中调用验证回调函数?

转载 作者:行者123 更新时间:2023-11-30 15:59:48 24 4
gpt4 key购买 nike

我正在使用来自 http://formvalidation.io/examples/ 的 formValidation 插件在 HTML5 表单中对表单输入执行验证。

notEmpty 等标准检查在输入时按预期工作。但现在我有一个情况,输入需要根据列表进行验证。我已经编写了函数 checkEMIDExists() 来执行此操作,但还没有弄清楚如何从 formValidation 插件中调用它。

This is the example I've followed为了尝试实现回调函数。但是在运行时,回调函数不会在填写 EM 输入值时触发。

我在每次更改输入值时确实触发的回调中设置了警报。我还通过在 change 事件上触发 checkEMIDExists() 来验证它是否有效,它确实有效。

我返回 bool 验证结果的方式似乎不正确。

问题:

如何在 formValidation 插件中调用回调函数?

代码:(要点)

EM 输入元素 -

  <input id="EscID" name="EM" maxlength="10" type="text" data-error="EM already exists or none supplied" placeholder="(If Applicable)" class="form-control">

脚本-

<script>

//List EM input is validated against
var escHistoryList = @Html.Raw(Json.Encode(Model.EscHistory));


$(document).ready(function () {


var $createForm = $('#createForm');


//Validate the required input fields to prevent submit if not
//valid input.
$('#createForm').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields:
Application: {
validators: {
notEmpty: {
message: 'The Application name field is required'
}
}
},
EM: {
validators: {
callback: {
message: 'A record with this EPRID already exists!',
callback: function (value, validator, $field) {
// Determine if the input EPRID already exists
var emidVal = $('#EscalationID').val();
alert("IN VALIDATOR CALLBACK");
var isEMIDMatch = false;

isEMIDMatch = checkEMIDExists(emidVal);

if(isEMIDMatch)
return true;
}
}
}
}
}


});



//Determineif input EMID exists in list
function checkEMIDExists(emidVal){

var isMatch = false;
for(var i=0;i<escHistoryList.length;i++){
if(escHistoryList[i]["EM"].indexOf(emidVal) > -1){
isMatch = true;
break;
}

}

return isMatch;
}









});//end $(document).ready


</script>

最佳答案

如果验证失败,您的回调方法也应该返回 false。空返回值将被忽略。

将回调返回语句更改为:

return isEMIDMatch;

或者更简洁但可读性较差:

return checkEMIDExists(emidVal);

关于javascript - 如何在 formValidation 插件中调用验证回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37946119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com