Нэнси передает мою строку запроса и значения формы моим обработчикам через динамическую
переменную. В приведенном ниже примере показаны значения формы, передаваемые обработчику POST через запрос Нэнси, например. Запрос.Форма.xxx
.
Обработчик
Post["/"] = _ =>
{
var userId = (string) Request.Form.userid;
if (userId.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
return HttpStatusCode.OK;
};
Вы можете видеть, что я привожу идентификатор пользователя
к строке, а затем использую метод расширения строки, чтобы проверить, является ли значение нулевым или пустой строкой (эквивалентно строке . IsNullOrEmpty()
).
Я бы предпочел иметь метод расширения для динамического типа, чтобы я мог выполнять проверки работоспособности, прежде чем делать что-либо еще. Мне нужен такой код:
if(Request.Form.userid.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
Однако у вас не может быть методов расширения для динамических
типов. Кроме того, вы не можете проверить наличие свойства через отражение. Добро пожаловать в ДЛР.
Вопрос
Каков самый простой и безопасный способ выполнить предварительную проверку, чтобы гарантировать, что ожидаемые значения запроса/формы были переданы моему обработчику Нэнси?
Спасибо