Динамическое регулярное выражение Yii2

1

Я хочу использовать динамическое регулярное выражение для проверки модели в yii2, например, мы используем регулярное выражение, как показано ниже:

[['password'], 'match', 'pattern' => '/^[A-Za-z0-9_@%&*]{6,32}$/'],

теперь я хочу загрузить значение шаблона из базы данных. Является ли это возможным? Если это, пожалуйста, объясните свою душу. Спасибо всем.

Теги:
yii2

1 ответ

1
Лучший ответ

Попробуйте присвоить регулярное выражение переменной var

$myRegExp = " '/^[A-Za-z0-9_@%&*]{6,32}$/'";

тогда

[['password'], 'match', 'pattern' => $myRegExp],

Вы можете создать подходящий класс для хранения и получить базу данных строки регулярных выражений regexp. например: MyDBRegExpModel с функцией getMyRegExp ($ param) получить нужное значение.. и последний добавить свой доступ к db до возврата и назначения r (модель) правил

В вашей модели

class MyModel extends \yii\db\ActiveRecord
{
   /**
   * @inheritdoc
   */
   public static function tableName()
   {
      return ......;
   }

   /**
   * @inheritdoc
   */     
   public function rules()
   {
       $myModel = MyDBRegExpModel::getMyRegExp($param);

       return [
         ......
         [['password'], 'match', 'pattern' => $myModel->myRegExp],
         ......
        ];
    }
  • 0
    хм очень приятное решение, приятель. ;)
  • 0
    Кажется простым ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню