Я создал операцию принятия решения о работе, чтобы определить, являются ли сообщения спамом или нет. Для этого я обнаруживаю, есть ли ссылка в сообщении поля формы. Это работает нормально, но я обнаружил, что если пользователь отправляет форму, нажав клавишу возврата (создавая новый абзац) в сообщении, тогда решение не выполняется, а также остальная часть рабочего процесса.Orchard Workflow Decision Activity не работает с новой строкой в поле формы
Вот решение сценария:
var message = "#{FormSubmission.Field:message}";
if (message.ToLower().Contains("http://") || message.ToLower().Contains("https://")) {
SetOutcome("Spam");
}
else {
SetOutcome("Real");
}
Попробуйте 'var message = @" # {FormSubmission.Field: message} ";'. Я бы также отметил, что у этого будет много ложных срабатываний, а также будет пропущено много фактического спама. Вероятно, вы должны использовать одну из существующих функций защиты от спама, которые существуют в Orchard. –
Да, это решило проблему. Благодаря! Не могли бы вы подробнее рассказать о функциях антиспама? – matthewjamesr
Добавлено как ответ. –