У меня есть следующий код формы, который позволяет вводить дату с использованием AngularUI (дата требуется и должна соответствовать формату даты в США, например: MM/DD/YY):
<form name="form" ng-submit="createShipment()">
<!-- Shipment Date must be in MM/DD/YY format: -->
<input name="shipmentDate"
ng-pattern='/^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$/'
ui-date="{ dateFormat: 'mm/dd/y' }" required ng-model="shipment.ShipmentDate" type="text">
<span ng-show="form.shipmentDate.$error.required">Date Required!</span>
<span ng-show="form.shipmentDate.$error.pattern">Incorrect Format, should be MM/DD/YY!</span>
<input class="btn-primary" ng-hide="!form.$valid" type="submit" value="Create">
</form>
Валидация для поля требуется отлично работает, но формат даты не проверяется правильно и всегда показывает сообщение "Неправильный формат..." .
Я попробовал несколько разных регулярных выражений, которые отлично работали в другом месте, но он все еще не работает. Кроме того, я пробовал проверку на соответствие AngularUI, и он тоже не работает. Спасибо заранее!
UPDATE:
Я полагал, что валидация противоречит используемому мне datepicker AngularUI, но datepicker автоматически фиксирует дату, так что если datepicker не используется, то проверка работает до тех пор, пока работает регулярное выражение, и если используется datepicker, нет необходимости в другая проверка.