用户重新提交时,如果字段不在对象中,则删除红色边框

时间:2019-04-15 05:57:42

标签: javascript jquery

我正在使用jquery进行表单验证功能,并且一切都很好,只是我想知道当用户更正表单并由于我使用ajax再次提交后,如何删除输入的红色边框。

我的函数使用两个参数,第一个是通知标题,第二个是包含输入名称和错误消息的对象,就像这样

{"inputName":"Input Error Message"}

这是函数

function _formValidation(errorTitle, errorMessage){

var errorRender = '';

$.each(errorMessage, function(i, item){
    $("[name='"+i+"']").css('border', '1px solid red');
    errorRender += '<li>'+item+'</li>';
});

return _showNotification(errorTitle, errorRender);
}

1 个答案:

答案 0 :(得分:2)

一种更好的方法是在出现任何验证错误时将CSS类放入输入字段。这样您下次可以使用CSS选择器将其删除。

例如:

CSS:

.validation-error{
    border: 1px solid red;
}

在用户提交表单时调用此

$('.validation-error').removeClass('validation-error');

更新您的formValidation函数以添加CSS类,而不是添加内联样式:

function _formValidation(errorTitle, errorMessage){

var errorRender = '';

$.each(errorMessage, function(i, item){
    $("[name='"+i+"']").addClass('validation-error');
    errorRender += '<li>'+item+'</li>';
});

return _showNotification(errorTitle, errorRender);
}