Если вы хотите проверить, является ли входное значение пустым или заполненным при отправке, у вас есть два доступных варианта.
Первый достигается с помощью Form Designer
в редакторе контента. Для каждого поля вы можете определить, является ли оно обязательным, минимальную/максимальную длину и применить регулярные выражения к значению (Sitecore поставляется с несколькими готовыми). Вы также можете полностью контролировать текст проверки, чтобы помочь вашим пользователям.
На этом изображении показан раздел проверки, который находится слева от Form Designer
![введите здесь описание изображения](https://i.stack.imgur.com/q9MER.png)
Эта проверка выполняется в режиме реального времени, перед отправкой формы или при нажатии кнопки отправки.
Вы даже можете создать свой собственный Field Validators
, который вы также можете применить через Form Designer
. Недавно я написал еще один ответ о том, как создавать валидаторы настраиваемых полей. которые могут вам помочь.
Другой вариант — расширить или создать свой собственный Save Action
, говоря не на Sitecore, действие отправки, которое запускается при нажатии кнопки формы.
На этом этапе у вас есть доступ ко всем Fields
в форме и вы можете выполнять любые манипуляции со значениями, введенными пользователем.
public class CustomFormSubmit : ISaveAction
{
public void Execute(ID formid, AdaptedResultList fields, params object[] data)
{
try
{
// Loop through each field in the form
foreach (AdaptedControlResult field in fields)
{
// Properties so you could manipulate field Id and Value
field.Id
field.FieldName
field.Value
// logic to manipulate field
}
}
catch (Exception ex)
{
Logger.Log(ex.Message + ":" + builder, ExceptionCategory.Error);
throw;
}
}
В Sitecore нужно проделать небольшую дополнительную работу, чтобы ваш новый SaveAction
можно было выбрать для WFFM, но я рассказывал об этом в блоге о Пользовательские действия по сохранению, это довольно просто
Я не уверен, как далеко вы могли бы зайти, манипулируя идентификаторами полей, но это простой способ проверки и игры с полем и его значением.
person
Jonathan Robbins
schedule
19.08.2015