关于:如果用户输入错误,我希望输入字段为红色。并希望停止发布该字段。
HTML概念:为此,我已将数据输入验证分配给我要验证的输入。
Js概念:现在在js我创建了一个附加了两个方法的对象。
1. 验证 方法这需要3个参数(a。我想要的验证类型b。该字段的数据属性3.输入上的任何输入值否则(键入)将获得值)。
获取值后,此方法将这些值传递给另一个名为 VALIDATING 的方法
2. 确认 方法接受 VALIDATION 方法传递的2个参数(a。定义我们需要的验证类型b。要验证的输入字段的值)。并将这些参数应用于switch语句,并且在每种情况下,我都为每种类型的验证定义了regExp。在使用regExp匹配给定值之后,此方法将一个布尔值返回给First方法,该方法根据布尔值将当前输入字段设置为红色或默认值。
问题: 现在我想知道如何从第一个 METHOD 获取布尔值,以便我可以阻止表单发布。< / p>
var inputValidation = function () {
this.validation = function (param1,param2,param3) {
var input = $(document).find('[data-input-validation = ' + param2 + ']');
input.each(function () {
$(this).on('keyup',function(){
input.each(function () {
var value = $(this).val() || param3;
var validate = new inputValidation();
var result = validate.validating(param1,value);
if(result) {
$(this).css('border','1px solid rgba(44,44,44,1)');
}
else {
$(this).css('border','1px solid #EF5350');
}
});
});
});
};
this.validating = function(param1,param2) {
switch (param1) {
case 'phoneNumber':
var mobileNumber = new RegExp('^[0-9\-\s()+]{3,20}$');
return mobileNumber.test(param2);
break;
case 'email':
var email = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
return email.test(param2);
break;
case 'username':
var username = new RegExp(/^[a-zA-Z0-9]+$/);
return username.test(param2);
break;
case 'message':
var message = new RegExp(/(\/\w+) (\w+) (.+)/);
return message.test(param2);
break;
}
};
};
var validate = new inputValidation();
validate.validation('phoneNumber','search');