我正在使用一個指令來驗證angularjs(版本1.0.2)中的兩個表單字段(日期)。爲了驗證表單我使用下面的指令。
http://jsfiddle.net/cafau/Ja2ar/
我所做的唯一更改是將該指令重命名爲ui-validate。 我在
http://jsfiddle.net/sidkurias/xXf6b/ 創建了一個小提琴我已經包含了我使用的部分html和控制器的相關部分。 控制器validStartDate和startBeforeEnd上有兩個方法我想從指令中調用。當我這樣做,我得到以下錯誤angularjs表單驗證語法錯誤令牌意外'{'
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>
到手錶函數調用正確解析驗證功能,但隨後拋出上述語法錯誤。 爲什麼角度不喜歡函數定義的任何想法。 謝謝
我沒有看到你的第二小提琴的指令代碼。你有小提琴顯示問題嗎?第二個小提琴也不包括AngularJS在任何地方。 –
非常正確,第二個小提琴代表了我拉入的部分。這是一個單頁的應用程序 - 至少,我嘗試一個。我認爲把整個設置放到提琴中會太多了。部分是基於被觸發的路線激活的。我將添加相關部分,以便可以複製問題,或者我將創建一個更簡單的版本,以便可以複製問題。謝謝 –
最後想出了jsfiddle.if你現在運行小提琴,你可以看到異常 - 至少在chrome控制檯中。 http://jsfiddle.net/sidkurias/xXf6b/謝謝 –