2016-08-17 87 views
0

我需要確保用戶在用ng-click提交表單之前在textarea框中放置一條消息。AngularJS - 在ng-click運行函數前需要輸入字段

這裏是要運行單擊NG-點擊時的功能:

$scope.reject = function() { 
    $http.post('http://server.com/api/reject/' + carID, { Message: Message }). 
    success(function(data) { 
    $scope.output = data; 
    }) 
} 

這裏是我的HTML:

<div id="reject" class="animated"> 
    <h3>WARNING</h3> 
    <p>Your are about to <strong><u>REJECT</u></strong> this CAR. Are you sure this is the action that you want to take?</p> 
    <form name="reject"> 
    <textarea placeholder="Message" ng-model="Message" ng-required="true"></textarea> 
    <button ng-click="reject.$valid && reject()">Reject</button> 
    </form> 
</div> 

我的HTML NG單擊代碼從this SO post有:

<form name="myform"> 
    <input type="text" ng-model='name' ng-required="true" /> 
    <button ng-click="myform.$valid && preview()">Preview</button> 
    <button ng-click="myform.$valid && update()">Update</button> 
</form> 

但由於某種原因,這對我不起作用。如果我刪除了forward.$valid &&並將其作爲ng-click="reject()它運行得很好,儘管我仍然可以在不輸入消息的情況下運行它。我需要textarea。所以我需要在函數運行之前進行驗證。我從另一個帖子下載的片段應該可以工作,但我不知道爲什麼它不是。

編輯 - 這是一個小提琴:My Fiddle

現在,消息框是我,另一個低於對別人的工作小提琴。我不明白我爲什麼不工作。

有人能告訴我我做錯了什麼嗎?

+0

如果