Я пытаюсь интегрировать API фильтрации контента. Мой план состоял в том, чтобы использовать пре / пост валидаторы, но я как-то потерял.
Что мне нужно сделать, это отправить значения в службу фильтрации содержимого. Если ответ возвращается, что контент был отфильтрован, он также вернет измененное значение для поля (базовая фильтрация ненормативной лексики ... совпадения заменяются звездочками). Это все хорошо, я могу выдавать ошибки проверки без проблем - простые вещи.
Однако я не хочу просто выкидывать ошибки. Что должно произойти, это то, что ошибки валидации выдаются как обычно, но значения изменяются в форме для повторного отображения.
Обычно, если кто-то публикует что-то непослушное, я хочу, чтобы он получил сообщение об ошибке проверки, говоря, что его сообщение было изменено, они могут повторно отправить «чистое» сообщение, или они могут отредактировать его, чтобы оно стало чистым без слова замены.
Но очистка на валидаторе либо выдает ошибку, либо возвращает очищенные значения, а не оба. Как я могу реализовать оба варианта? Это будет использоваться во многих различных формах с разными именами полей, поэтому изменение методов формы или базового класса формы на самом деле не вариант - это должно как-то происходить в подструктуре валидации.