Проверка значений вручную с использованием аннотаций данных - PullRequest
0 голосов
/ 30 мая 2018

У меня есть что-то вроде этой модели.

public class Feedback
{
public string FeedbackType { get; set; }
[AntiXss]
public string FeedbackMessage { get; set; }
}

Например, когда я отправляю нижеприведенное сообщение от FE, используя поле 'TextArea'

Hello (This is in first line)

This is awesome(This is in second line)

Когда это значение получаетпривязанный к модели, он выглядит как

'Hello\nThis is awesome'

В результате атрибут AntiXss не проходит проверку (из-за \ n).

Чего я хочу достичь =>

  1. Удалить аннотацию данных из модели
  2. Кодировать \ n во что-то еще в контроллере
  3. Вручнуювызовите аннотацию AntiXss в контроллере, чтобы значение было проверено на наличие межсторонних сценариев, отличных от \ n.

Примерно так.

ValidateMessage(feedbackMessage, AntiXssAttribute)

Так что в основном мне нужнокод, который может принять имя атрибута и проверяемое значение, а затем, наконец, возвращает меня, если значение верное.

Я уже пробовал приведенный ниже код, чтобы избежать обходного пути, но он не работает.

[AntiXss(allowedStrings:"\n")]
...