【发布时间】:2016-10-19 21:45:28
【问题描述】:
我需要为公司名称创建输入。它可以是1-4个单词并使用“”。现在我可以这样:
<?= $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______________"
我需要它来制作动态长度,所以“符号在文本之后
【问题讨论】:
-
如果您允许特殊字符,那么使用屏蔽输入有什么意义。只需使用带有长度验证的文本字段
-
首字母大写,@Nitin
-
你可以在后端管理这个,使用像
ucfirst()这样的php函数。在 MaskedInput 中,您可以添加mask选项,该选项将允许您仅使用字母字符、数字字符和字母数字字符。所以最好选择textfield和ucfirst() -
@Nitin 我需要在输入姓名时显示它