2017-06-14 177 views
-1

我剛剛開始使用Angular 2,我試圖弄清楚如何驗證表單,以便它不允許輸入小於$ .01的任何內容。我嘗試了一些不同的東西,但到目前爲止,它仍然允許按下提交按鈕。任何人都可以指出我正確的方向嗎?表單驗證

+0

檢查此鏈接。應該爲您提供指導:https://angular.io/guide/form-validation#custom-validation –

+0

請嘗試添加您嘗試過的內容和結果? – CharanRoot

+0

我嘗試過的一件事是在表單中使用了不同的正則表達式,但是這根本不起作用。它仍然允許按下按鈕。我也嘗試使用ngModel對象,但我確信我沒有正確使用它。 – cozy2963

回答

0

實現此目的的一種方法是將0.01輸入與$ scope.balance綁定,並將保存按鈕綁定到$ scope.save。 例如您的模板是這樣的:

<div> 
    <md-input-container> 
    <label>Balance</label> 
    <input ng-model="balance" type="number" required> 
    </md-input-container> 
    <div style="color:red">{{error}}</div> 
    <md-button ng-click="answer()>Save</md-button> 
</div> 

然後在你的控制器:

$scope.balance = 0; 
$scope.save = function() { 
    if ($scope.balance < 0.01) { 
    $scope.error = "Please enter some value that is no less than 0.01"; 
    return; // any invalidate number will not be saved. 
    } 
    // do your other save operation 
} 

通過這樣做,你必須靈活地做其他驗證,並給自己的錯誤消息給用戶。

+0

您的答案適用於AngularJS(如版本1.x),問題要求Angular(版本2及以上版本)。 「Angular 2」中沒有'$ scope'了。 – mtx

+0

哦,是的。我的解決方案僅適用於AngularJS。 – Luke