регулярное выражение для всех полей принимает некоторые теги html в правиле проверки шаблона yii

64
8

Я использую правила проверки yii для удаления всех специальных символов из поля ввода.

Но я хочу добавить некоторые html-теги для добавления пользователями в поле ввода.

Поэтому я использую следующий код...

array('product_name, product_description', 'match', 'pattern'=>"/^['<br/> \"0-9a-zA-Z_-\s]*$/i")

В приведенном выше коде я добавил только <br/> html <br/> чтобы разрешить его в правиле проверки.

Но шаблон yii не позволяет мне вводить его в поле ввода.

я могу сделать что-то неправильно.

Итак, как я могу позволить некоторым тэгам html разрешить пользователю добавлять в поле ввода.

спросил(а) 2021-01-19T16:14:44+03:00 6 месяцев, 2 недели назад
1
Решение
64

Match Validator просто проверяет, соответствует ли ваше поле шаблону или нет.

Для ваших целей вы должны написать собственное правило валидатора или валидации. В простейшей форме он может выглядеть (пример версии yii2, но он использует встроенную функцию php, поэтому ее можно перенести в версию 1):

public function rules()
{
return [
[['product_name', 'product_description'], function($value) {
return strip_tags($value, '<br>');
}],

];
}

Чтобы уточнить, как указать допустимые теги, посмотрите на руководство для strip_tags

Чтобы уточнить, как написать правило пользовательской проверки для yii1.1, пожалуйста, также проверьте документацию

ответил(а) 2021-01-19T16:14:44+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема