2016-04-25 26 views
0

角度jsは、入力の紹介されたhtml5属性のいくつか、たとえばminまたはrequiredに妥当性検査を行います。 stepについては入力のステップ属性エラーメッセージが表示されません

<input type="number" name="input1" id="input1" min="0" 
     ng-model="$ctrl.input1"ng-required /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
</div> 

、このような検証が動作しているが、エラーメッセージがそうstep="0.001"のために(たとえばそれを実装する最も簡単な方法は何でしょう、デフォルトでは材料の方法を表示することができません?

<input type="number" name="input1" id="input1" min="0" step="0.001" 
     ng-model="$ctrl.input1"ng-required /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
    <div ng-message="step">You can work with 0.001 steps</div> 
</div> 

答えて

0
属性シンプル

、ちょうどこのように正規表現を使用します。すぐに正規表現をeplainするに

<input type="number" name="input1" id="input1" min="0" step="any" 
     ng-model="$ctrl.input1"ng-required 
     ng-pattern="/^[0-9]\d*((.|,)\d{1,3})?$/" /> 
<div ng-messages="formname.input1.$error" class="em-messages"> 
    <div ng-message="required">This value is required</div> 
    <div ng-message="min">You must not use negative values</div> 
    <div ng-message="pattern">You can work with 0.001 steps</div> 
</div> 


[1-9]\d*は今
((.|,)\d{1,3})?任意の自然数があることを意味し.または,
\d{1,3}が1〜3の数字でなければならない今、あなたのパターンを

に従わなければならないことを定義割合を区切るために従うことができます角度のあるマテリアルスタイルでエラーメッセージが表示されます。

手順が実際にどのように表示されるかによって、\d{1,3}のいずれかを修正して、過去の数値を反映させ、モジュロに折り返してください。そうすれば何かリンクするstep="0.005"です。

関連する問題