Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 模糊上的单个输入验证_Javascript_Html_Validation - Fatal编程技术网

Javascript 模糊上的单个输入验证

Javascript 模糊上的单个输入验证,javascript,html,validation,Javascript,Html,Validation,我正在尝试使用HTML5来验证数字输入。我正在使用jQuery创建元素。如何让浏览器在不必单击提交按钮的情况下显示错误消息onBlur jQuery(document.createElement('input')).attr({“type”:“number”,“min”:“0”,“max”:“60”,“step”:“1”,“value”:“5”)设置.blur()处理程序。请参阅。jQuery(document.createElement('input')).attr({“type”:“numb

我正在尝试使用HTML5来验证数字输入。我正在使用jQuery创建元素。如何让浏览器在不必单击提交按钮的情况下显示错误消息onBlur

jQuery(document.createElement('input')).attr({“type”:“number”,“min”:“0”,“max”:“60”,“step”:“1”,“value”:“5”)

设置.blur()处理程序。请参阅。

jQuery(document.createElement('input')).attr({“type”:“number”,“min”:“0”,“max”:“60”,“step”:“1”,“value”:“5”}).blur(function(){
var val=parseInt(jQuery(this).val(),10);
if(valparseInt(jQuery(this).attr('max'),10)){
jQuery(this).val(parseInt(jQuery(this).attr('min'),10));//将值设置为max
});

实际上,您不能通过API调用本机验证ui。由于验证ui也会自动聚焦元素,这不是一个好的可用性(用户不能将字段保留为无效并决定在页面上执行其他操作)

如果要执行此操作:必须使用validity属性和validationMessage属性实现验证yourslf。代码可能如下所示:

$('input[type="number"]').blur(function(){
    //if field is validation candidate and is invalid alert the validationmessage
    if( $.prop( this, 'willValidate' ) && !$.prop( this, 'validity').valid){
        alert( $.prop( this, 'validationMessage' );
    }
});
当然,使用警报有点愚蠢,但会使代码变得干净。如果你想使用webshims库,有一个淋浴ROR帮助程序。我已经发布了一个

关于助手方法$.webshims.validityAlert.showFor:

showFor需要dom元素jQuery对象或选择器作为第一个参数。 validationmessage作为可选的第二条消息
最后一个是布尔值,它将在不聚焦字段的情况下显示消息。

啊,谢谢!这是对本机UI验证的一个非常好的替代。尽管如果他们实现了单独的验证,这将非常好。
$('input[type="number"]').blur(function(){
    //if field is validation candidate and is invalid alert the validationmessage
    if( $.prop( this, 'willValidate' ) && !$.prop( this, 'validity').valid){
        alert( $.prop( this, 'validationMessage' );
    }
});