每行的多行PHP验证

时间:2013-04-01 06:07:55

标签: php jquery

image

请参考上面的图片..我是jquery的新手,我已经开发了一个php表单来输入数据。我想限制用户在输入错误值时离开文本字段。 范围:比如0到50。 它也应该接受AB,NR。

知道如何实现这一点。

我非常感谢这个快速回复。

我替换了

<script>
$.validator.addMethod("custom_number", function(value, element) {
return this.optional(element) || value == "AB" || value == "NF" || 
value.match(/^[0-9,\+-]+$/);
}, "Please enter a valid number, or 'AB'");

$(document).ready(function(){
$("#form").validate({
rules: {
'hd[]': {
required: false,
custom_number: true   
}
}
});
});
</script>

使用

<script>
var accept_values = array("AB","NR",'01','02','03','04','05','06','07','08','09','10');

function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle) return true;
}
return false;
}

var success = 0;
$("input[type='hd[]']").each(function(){
if(!in_array(accept_values, $(this).val())) {
success = 1;
}
});
if(success == 1){
alert("You have entered an invalid value");
return false;

}
//do success
</script>

希望我能接受01到10以及'AB'和'NR' 但它没有成功。有没有办法提供范围和字母?

4 个答案:

答案 0 :(得分:2)

请根据您的要求/需要进行修改:

function validate(){
    $('.theory').each(function(){           
            if($(this).val() == ''){
                alert('Please enter value.');       
                return false;
            }else{
                if($(this).val() < 0  || $(this).val() > 50  ){
                            alert('Please enter correct value.');               
                            return false;
                     }
            }       
    });

  return true;

}

答案 1 :(得分:1)

希望您的文本框具有相同的css类(例如:checkrow)。

Jquery代码(未经测试)

  $(function(){
    var status =true;
    $('.checkrow').on('blur',function(){
    var valueofrow =$(this).val();
    if(valueofrow =='AB' || valueofrow =='NR'){
    status =true;
    } else{
    status =false;
    }
    if(status == false){
    alert("warning message");
    return false;
    } 
    });
    });

答案 2 :(得分:0)

var accept_values = array("AB","NR");

function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

var success = 0;
$("input[type='text']").each(function(){
    if(!in_array(accept_values, $(this).val())) {
        success = 1;
    }
});
if(success == 1){
    alert("You have entered an invalid value");
    return false;
}
//do success

答案 3 :(得分:0)

我尝试使用jquery验证器解决您的问题..

检查它是否符合您的要求,或者您想要更改某些内容..

        <script src='
        http://code.jquery.com/jquery-latest.min.js '></script>
        <script src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js'></script>
        <script>
        $(document).ready(function(){

        $('#frm').validate();

        $(".inp_text").each(function(){
        $(this).rules("add", {
        required: true,
        checkValue: true
         });   
       });

            $.validator.addMethod("checkValue", function(value, element) {
            var response = ((value > 0)&&(value <= 50))||((value == 'AB')||(value =='NR'));
           return response;
           }, "invalid value");

        })

        </script>


        <form id='frm'>
        <input type='text' name='inp_text'   class='inp_text'/><br>
        <input type='text' name='inp_text1' class='inp_text'/><br>
        <input type='submit' name=''/>
        </frm>

请注意,所有输入都应具有相同的类