У меня есть три переключателя: Активный, Растворенный, Заключенный. Если Active выбран, то в столбце таблицы будет сохранено значение "Active". Если выбрано Dissolved, отображается вкладка с устройством выбора даты. Это то же самое для Dissolved. Поэтому столбец установлен на nvarchar. То, что я нахожу, когда я сохраняю экран, ничего не происходит. Я прошел через код и добрался до этой строки:
if ($scope.addeditregulatoryapprovalForm.$valid)
$ valid оценивает значение false. Если я нахожусь над ним, я вижу $ error, если я разворачиваю, я вижу дату, если я разворачиваю, я вижу массив с одним элементом, когда я расширяю его, я вижу дату, отображаемую в поле ввода.
Если то, что я вижу, является правильным и что это дата, которая вызывает проблему, я просто не знаю, почему она вызывает проблему. Я должен выбрать дату, даже если она уже выбрала ту же дату, что и раньше, прежде чем я смогу сэкономить.
Есть идеи?
Здесь код:
<div class="col-xs-7 form-inner-group padRt0">
<div class="clearfix stackDate">
<input name="DissolutionConcludedStatusDate" id="DissDate1_0" type="radio" ng-model="vm.regulatoryApproval.DissolutionConcludedStatusID" ng-value="1"> Active<br />
</div>
<div class="clearfix stackDate">
<input name="DissolutionConcludedStatusDate" id="DissDate1_1" type="radio" ng-model="vm.regulatoryApproval.DissolutionConcludedStatusID" ng-change=vm.setDate() ng-value="2">
Dissolved <span ng-if="vm.regulatoryApproval.DissolutionConcludedStatusID==2">
<input class="form-field cal-field" type="text" ng-required="vm.regulatoryApproval.DissolutionConcludedStatusID==2"
name="DissolvedStatusDate"
ng-model="vm.regulatoryApproval.DissolutionConcludedStatusDate"
datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.regulatoryApproval.DissolutionConcludedStatusDate"><br />
<div ng-show="addeditregulatoryapprovalForm.submitted || addeditregulatoryapprovalForm.DissolvedStatusDate.$touched">
<span class="error" ng-show="addeditregulatoryapprovalForm.DissolvedStatusDate.$error.required">Please select a Dissolved date</span>
</div>
</span>
</div>
<div class="clearfix stackDate">
<input name="ConcludedStatusDate" id="DissDate1_2" ng-model="vm.regulatoryApproval.DissolutionConcludedStatusID" type="radio" ng-change=vm.setDate() ng-value="3">
Concluded <span ng-if="vm.regulatoryApproval.DissolutionConcludedStatusID==3">
<input type="date" class="form-field cal-field" ng-required="vm.regulatoryApproval.DissolutionConcludedStatusID==3"
name="ConcludedDate"
ng-model="vm.regulatoryApproval.DissolutionConcludedStatusDate"
datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.regulatoryApproval.DissolutionConcludedStatusDate"><br />
<div ng-show="addeditregulatoryapprovalForm.submitted || addeditregulatoryapprovalForm.ConcludedStatusDate.$touched">
<span class="error" ng-show="addeditregulatoryapprovalForm.ConcludedStatusDate.$error.required">Please select a Concluded date</span>
</div>
</span>
</div>
</div>
Я понял, в чем проблема. Поскольку мне приходилось сохранять дату в виде строки в базе данных при сохранении формы, она считалась недействительной, потому что ей нужна дата из datepicker. Мне пришлось преобразовать строку в дату, когда она вытащила ее из базы данных, прежде чем назначать ее модели.