AngularJS:如何验证日期格式(DD / MM / YYYY)时,手动输入 [英] AngularJS: How to validate date format (DD/MM/YYYY) when manual enter
问题描述
我用角JS 1.4版本。我选中该<一个href=\"http://stackoverflow.com/questions/14146655/angularjs-how-to-validate-date-in-us-format\">link并与常规的前pression检查过,但没有帮助我。当我尝试'2013-11-33'(在上面的链接),它的真正的验证,这是不对的。
I am use angular js 1.4 version. I am checked this link and checked with regular expression too, but not help me. When I try '2013-11-33' (in above link), its validate true, which is wrong.
这是我的HTML
.. <div class="form-item">
<!--<input required ng-model="dob" placeholder="Date of Birth* dd/mm/yyyy" class="textbox-n dob" type="text" onfocus="(this.type='date')" id="dobTxt" name="dobTxt" min="1910-01-01" max="2013-12-31">-->
<input required ng-model="user.dob" placeholder="Date of Birth* dd/mm/yyyy" class="dob" type="text" id="dobTxt" name="dobTxt">
</div>
.....
<!--Validation Summary-->
<div class="alert alert-danger validationSum" role="alert" style="margin-bottom: -20px;"
ng-show="submitted &&
(registerForm.genderSelect.$error.required
|| registerForm.firstNameTxt.$error.required || registerForm.lastNameTxt.$error.required
|| registerForm.dobTxt.$error.required || registerForm.dobTxt.$error.date
|| registerForm.mobileTxt.$error.required
|| registerForm.emailTxt.$error.required || registerForm.emailTxt.$error.email || (user.email != confirmEmail) || emailExist
|| registerForm.pharmacySelect.$error.required)">
<ul>
<li ng-show="registerForm.genderSelect.$error.required">
Gender is required.
</li>
<li ng-show="registerForm.firstNameTxt.$error.required">
First name is required.
</li>
<li ng-show="registerForm.lastNameTxt.$error.required">
Last name is required.
</li>
<li ng-show="registerForm.dobTxt.$error.required">
Date of birth is required.
</li>
<li ng-show="registerForm.dobTxt.$error.date">
Not a valid date!
</li>
<li ng-show="registerForm.mobileTxt.$error.required">
Contact number is required.
</li>
<li ng-show="registerForm.emailTxt.$error.required">
Email is required.
</li>
<li ng-show="registerForm.emailTxt.$error.email">
Invalid email.
</li>
<li ng-show="isEmailMatched = (user.email != confirmEmail)">
Emails have to match!
</li>
<li ng-show="registerForm.pharmacySelect.$error.required">
Preferred pharmacy is required.
</li>
<li ng-show="emailExist">
This email has already been used to complete a questionnaire. Please contact your practitioner for your assessment.
</li>
</ul>
</div>
问题是,当我进入了错误的日期,它没有被解雇。我尝试了一些其他的链接和plunker变化,但没有解决问题。
Issue is when I entered wrong date , it is not fired. I tried some other links and plunker changes, but not resolve the issue.
推荐答案
的问题是,你是不是验证 user.dob
的任何地方。你只检查是否 dobTxt
具有输入日期的形式,但不是是否是一个有效的日期。 <一href=\"http://stackoverflow.com/questions/6177975/how-to-validate-date-with-format-mm-dd-yyyy-in-javascript\">Here和这里是如何验证日期的一些例子。
The issue is that you aren't validating user.dob
anywhere. You only check to see if dobTxt
has input in the form of a date, but not whether or not that is a valid date. Here and here are some examples of how to validate a date.
这篇关于AngularJS:如何验证日期格式(DD / MM / YYYY)时,手动输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!