web-dev-qa-db-ja.com

yii2 ActiveForm数値テキストフィールド

次のようにyii2を使用してActiveFormを作成しました。

                            <?=$form->field($item, 'finalPrice', [
                                'options' => [
                                    'tag' => 'div',
                                    'class' => '',
                                ],
                                'template' => '<span class="col-md-2 col-lg-2"><label class="control-label">Final item price</label>{input}{error}</span>'
                            ])->textInput([
                                 // ** i want numeric value **
                            ])->label(false)?>

そしてそれはの結果をレンダリングしました:

<span class="col-md-2 col-lg-2"><label class="control-label">Final item price</label><input type="text" id="item-finalprice" class="form-control" name="Item[finalPrice]"><p class="help-block help-block-error"></p></span>

今、私はそれを<input type = "number" ..で、テキストではないようにしたいです(したがって、ユーザーはブラウザの上下ボタンを使用して値を変更できます)。それを行う方法はありますか?

10
Ofershap

->textInput(['type' => 'number']を使用できます。例:

<?=$form->field($item, 'finalPrice', [
                                'options' => [
                                    'tag' => 'div',
                                    'class' => '',
                                ],
                                'template' => '<span class="col-md-2 col-lg-2"><label class="control-label">Final item price</label>{input}{error}</span>'
                            ])->textInput([
                                 'type' => 'number'
                            ])->label(false)?>
33
Touqeer Shafi

これを試して 。それは私のために働いた

<?= $form->field($model, 'amount')->textInput(['type' => 'number']) ?>
2
Shuhad zaman

電話番号/会員番号などのフィールド。ユーザーがテキストフィールドに数値を入力することのみを許可する場合があります。そのような場合、パターンマッチルールを適用することは私にとって非常に効果的です。

モデルクラスにルールを設定するだけで完了です。

public function rules()
{
    return [
...

 [['contactno'], 'string', 'max' => 25],
 [['contactno'], 'match' ,'pattern'=>'/^[0-9]+$/u', 'message'=> 'Contact No can Contain only numeric characters.'], 

...
          ];
}
0
Manoj Roy