Если я правильно понимаю, ваша проблема возникает из-за большого разнообразия данных, которые вы должны предоставить, и что нужно проверять в каждом фрагменте ввода, который обрабатывается?
Можно было бы настроить функции валидатора для каждого типа валидации (например, требуемый текст, номер, телефон, электронная почта и т. Д.) И указать в самих элементах формы в HTML, что нужно проверять в каждом из них, анализируя их на представление. Вам нужно будет использовать name
поле <input>
, так как кроме value
это единственное другое, что отправлено с формой.
Допустим, у вас есть поле для номера телефона, которое необходимо заполнить. Вы можете написать это в HTML так:
<input type="text" name="officephone[required_phonenumber]" value="">
Тогда вам нужно будет правильно проанализировать его в сценарии отправки, где он будет находиться в $_POST['officephone']['required_phonenumber']
, и исходя из этого вы будете знать, какие средства проверки запускаются по его значению.
Это довольно грубый способ, который может быть достаточен, если вам нужно разрешить произвольное именование входов пользователем. Ваш мастер форм просто добавит к имени соответствующие теги валидатора, основываясь на потребностях пользователя.
В более общих замечаниях по отправке формы, как и во всем, что конечный пользователь может отправить вручную в POST, следует помнить, что входные имена могут быть изменены, чтобы получить что-то проверенное по-другому или вообще не проверяться, просто изменяя теги валидатора ,
В идеале вы должны разрешать только специально именованные входные данные (возможно, с уникальным идентификатором, добавленным к ним), а присвоение имен будет сопровождаться соответствующей проверкой. Например, мастер форм может назвать входные данные так:
<input type="text" name="phone_1" value="">
и ваш обработчик форм будет знать, что все, что начинается с «телефона», должно быть проверено как номер телефона, а затем использовано соответствующим образом. Таким образом, вам не нужно показывать, как вы проверяете данные в своем HTML.