Client.php
Код: Выделить всё
public function rules()
{
return [
[['name', 'phone'], 'required', 'on' => self::SCENARIO_DEFAULT],
[['phone'], 'number'],
[['phone'], 'filter', 'filter' => function($value){
return str_replace(['(', ')', '-'], '', $value);
}],
[['phone'], 'unique'],
];
}
Код: Выделить всё
<?= $form->field($model, 'phone')->widget(MaskedInput::className(),[
'mask' => '8(999)999-99-99',
]) ?>
В базе данных тип decimal
Есть конечно одно предложение, но может оно не правильная в реализации, это в моделе сделать не number а string. И непосредственно через регулярное выражение указать что там должны быть цифры. И когда попадает в бд, то там сохраняется только цифры, отбрасывается все символы. Но сам конечно как это делается и как сохраняют телефонынй формат в бд