2016-10-19 27 views
0

我需要爲公司名稱創建輸入。它可以從1到4個單詞並使用「」。現在我可以這樣做:Yii2具有特殊字符的MaskedInput小部件

<?= $form->field($model, 'name')->widget(\yii\widgets\MaskedInput::className(),['name' => 'name', 'mask' => ['[A][a]{1,10}[ ][a]{1,10}[ ][a]{1,10}[ ][a]{1,10}']]) ?> 

但是現在我只能使用字母。我看到這個小部件中有$definitions,但如何正確使用它?

嘗試一些超視距雷達的選項後,我會把這樣的:

<?= $form->field($model, 'name')->widget(\yii\widgets\MaskedInput::className(),['name' => 'name',  'mask' => '"[A]a"', 
        'definitions' => [ 
         'a' => [ 
          'validator' => '^[А-ЯЁA-Z]+', 
          'cardinality' => 50, 
         ] 
        ]]) ?> 

但我需要這個定義的動態長度。所以,現在在我的領域

"Asddasdsa asdnmsadas d asdasd asdsamj______________" 

,我需要它做動態長度,這樣的「符號是文字

+0

如果您允許特殊字符,那麼什麼是使用屏蔽輸入點。只需使用長度爲驗證 –

+0

文本字段應該有第一個大寫字母,@Nitin – hottern

+0

您可以在後臺管理這一點,使用PHP函數像'ucfirst() '。在MaskedInput中,你可以添加'mask'選項,它將允許你,**字母字符,數字字符和字母數字字符**。所以更好地使用'textfield'和'ucfirst()' –

回答

0

後,如果您想顯示的第一個字母大寫,而打字,然後使用jQuery函數如下

$("#your-field-id").keyup(
    function() { 
     this.value = this.value.substr(0, 1).toUpperCase() + this.value.substr(1).toLowerCase(); 
    } 
); 
+0

我需要使用我的面具,因爲有引號也 – hottern