Буквенное поле с помощью Field Validation

Главные вкладки

Аватар пользователя Happy Smile Happy Smile 26 сентября 2020 в 14:49


Всем привет! Создала поле и настроила с помощью Field Validation функцией - Шаблон(regex lite) (скрин с настройками прикрепила) и тестирую поле - Пишу Олег22, а надо чтобы выпадала ошибка при сохранении, так как мне нужно только буквенное поле Пример *Олег* без цифр, символов итд... Прошу помощи с профи, что сделала не так!

Комментарии

Аватар пользователя ivnish ivnish 26 сентября 2020 в 15:14

Не прикреплять, а вставлять прямо в содержимое. Кнопка с изображением "картины" на панели редактора

Аватар пользователя charOFF charOFF 26 сентября 2020 в 20:21

Вы проверяете fid, а это id файла - целое число. Если надо проверить имя, файла, то я не уверен, что это можно сделать через Field Validation. Разве что через 'PHP code', но лучше не надо.
А так, если все таки проверять текстовое значение, то нужно выбирать не "Шаблон(regex lite)" , а Регулярное выражение, а само выражение будет ^[a-zA-Z]*$

Аватар пользователя OldWarrior OldWarrior 26 сентября 2020 в 21:02

charOFF wrote: Вы проверяете fid, а это id файла - целое число.

Откуда тогда вообще возможность ручного ввода (и, соответственно, валидации) этого значения?

Автор (SkySofiaK), что это у вас за поле вообще?

Аватар пользователя Happy Smile Happy Smile 27 сентября 2020 в 17:05

Правильно срабатывает если написать Oleg, а Если написать Олег то выпадает ошибка!

Тоесть работает только на английском шрифте Sad

Аватар пользователя charOFF charOFF 26 сентября 2020 в 21:41

OldWarrior wrote: Откуда тогда вообще возможность ручного ввода

Похоже на поле файл. Прямо ручного ввода там нет конечно, хотя можно и сделать. В стандартных виджетах файла fid записывается в hidden input формы, так что это вполне себе пользовательский ввод.

Аватар пользователя OldWarrior OldWarrior 26 сентября 2020 в 21:53

Видимо, тут самое лучшее - дождаться пояснений от автора.

Любые hidden input'ы от виджета типа "файл" вроде отсутствует как доступные поля CCK D7. Насколько я понимаю, автор всё натыкивает мышью.

Аватар пользователя charOFF charOFF 26 сентября 2020 в 22:01

А этот модуль судя по всему ориентируется на hook_field_schema(), это даже в пояснении к выпадающему списку написано. А там в file_field_schema есть fid. Но это все теория. Надо действительно понять какое значение какого поля нужно все таки валидировать.

Аватар пользователя Happy Smile Happy Smile 27 сентября 2020 в 14:54

Вся задача была в том, чтобы сделать поле Имя пользователя без лишних символов и цифр, как есть поле цена - только цифры без лишних символов. Но вижу с буквами сложнее

Аватар пользователя charOFF charOFF 27 сентября 2020 в 16:08

Интересно. А что это за форма тогда? В стандартной форме регистрации Имя пользователя по-моему вообще не валидируется через Field validation. На скриншоте не видно, что это за поле, а в выпадающем списке "Колонка" - выбрано значение "fid", это похоже на поле типа файл. Здесь указывается, что именно будет проверяться вашим регулярным выражением. Для текстового поля там должно быть 'value' в вашем случае.

Аватар пользователя Happy Smile Happy Smile 27 сентября 2020 в 16:51

Если дать value то ошибка выпадает всегда независимо от Ввоода (Буквы это, или буквы с цифрами)

А Это текстовое поле дополнительное кроме Имя пользователя

Аватар пользователя Happy Smile Happy Smile 27 сентября 2020 в 17:04

Правильно срабатывает если написать Oleg, а Если написать Олег то выпадает ошибка!

Тоесть работает только на английском шрифте Sad

Аватар пользователя charOFF charOFF 27 сентября 2020 в 17:29

SkySofiaK wrote: Правильно срабатывает если написать Oleg

Это уже лучше
У вас просто в исходном регулярном выражении только диапазон латинский a-zА-Я, кириллические символы в него не попадают. Если нужна кириллица, то выражение будет
^[a-zA-Zа-яА-ЯёЁ]*$
ёЁ не попадают в диапазон, по-этому указаны отдельно. Для украинского языка, может еще надо туда добавить какие-то буквы отдельно, не знаю.