我需要输入DOB,但用户的最小年龄应为18岁,最大年龄应为60岁
对于添加的jQuery方法,但响应不佳,在任何DOB上都显示最大年龄为60岁
jQuery方法的代码
$.validator.addMethod("minDate", function (value, element) {
var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
var inputDate = new Date(value);
if (inputDate < min)
return true;
return false;
}, "Maximum Age 60 Years");
$.validator.addMethod("maxDate", function (value, element) {
var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
var inputDate = new Date(value);
if (inputDate > max)
return true;
return false;
}, "Minimum Age 18 Years");
表单验证规则
"user[DOB]": {
required: true,
minDate:true,
maxDate:true
},
答案 0 :(得分:0)
正如我在评论中提到的,您的验证向后。如果无效,则返回true,否则返回false。
尝试:
Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));
如果这不起作用,请查看您的inputDate返回的内容,例如$.validator.addMethod("minDate", function (value, element) {
// new Date(-356780166)..
var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
var inputDate = new Date(value);
if (inputDate < min)
return false;
return true;
}, "Maximum Age 60 Years");
$.validator.addMethod("maxDate", function (value, element) {
var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
var inputDate = new Date(value);
if (inputDate > max)
return false;
return true;
}, "Minimum Age 18 Years");
答案 1 :(得分:-2)
很抱歉给您带来麻烦,感谢所有支持-以下代码解决了我的错误
$.validator.addMethod("dobRange", function (value, element) {
var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
var inputDate = new Date(value);
if (inputDate < min || inputDate > max)
return false;
return true;
}, "Age Limit 18 to 60 Years");