【问题标题】:Yii2 MaskedInput widget with spesial charactersYii2 带有特殊字符的屏蔽输入小部件
【发布时间】: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 选项,该选项将允许您仅使用字母字符、数字字符和字母数字字符。所以最好选择textfielducfirst()
  • @Nitin 我需要在输入姓名时显示它

标签: input yii2 masking


【解决方案1】:

如果您想在输入时以大写显示第一个字母,请使用 JQuery 函数如下

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

【讨论】:

  • 我需要使用我的面具,因为还有引号
猜你喜欢
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 2020-12-25
  • 2011-07-19
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多