angularjs (バージョン 1.0.2) で 2 つのフォーム フィールド (日付) を検証するディレクティブを使用しています。フォームを検証するために、次のディレクティブを使用します。
http://jsfiddle.net/cafau/Ja2ar/
私が行った唯一の変更は、ディレクティブの名前を ui-validate に変更したことです。
http://jsfiddle.net/sidkurias/xXf6b/でフィドルを作成しました
。使用している html の一部と、コントローラーの関連部分を含めました。コントローラには、ディレクティブから呼び出したいvalidStartDateとstartBeforeEndの2つのメソッドがあります。そうすると、次のエラーが表示されます
Error: Syntax Error: Token '{' is unexpected, expecting [)] at column 13 of the expression [(function (){
var sdate = new Date($scope.avail.sdate),
today = new Date(getDefaultDates(0));
return sdate >= today ;
}) && true] starting at [{
var sdate = new Date($scope.avail.sdate),
today = new Date(getDefaultDates(0));
return sdate >= today ;
}) && true].at Error (<anonymous>)
at throwError (http://g.dev/app/lib/angular/angular.js:5867:11)
at consume (http://g.dev/app/lib/angular/angular.js:5905:7)
at primary (http://g.dev/app/lib/angular/angular.js:6075:7)
at unary (http://g.dev/app/lib/angular/angular.js:6066:14)
at multiplicative (http://g.dev/app/lib/angular/angular.js:6049:16)
at additive (http://g.dev/app/lib/angular/angular.js:6040:16)
at relational (http://g.dev/app/lib/angular/angular.js:6031:16)
at equality (http://g.dev/app/lib/angular/angular.js:6022:16)
at logicalAND (http://g.dev/app/lib/angular/angular.js:6013:16)
<form name="availForm" ui-validate="{startDate: validStartDate, sbe:startBeforeEnd}" class="ng-pristine ng-valid"> <br>
ウォッチ関数を呼び出すと、検証関数は正しく解決されますが、上記の構文エラーがスローされます。angular が関数定義を好まない理由についてのアイデア。ありがとうございました