Мне удалось создать пользовательскую аннотацию данных, чтобы проверить, является ли значение допустимым JSON.Конечно, класс можно улучшить, но моя проблема в том, как связать проверку на стороне клинта с классом:
public sealed class ValidateJsonAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object json, ValidationContext validationContext)
{
try
{
var result = JsonConvert.DeserializeObject(json.ToString());
}
catch (JsonReaderException ex)
{
return new ValidationResult(ex.Message);
}
return ValidationResult.Success;
}
}
Это пример проверки на стороне клиента, как я могу исправить ее, чтобы она соответствоваламоя потребность?
<script type="text/javascript">
$.validator.addMethod("cannotbevalue", function (value, element, params) {
if ($(element).val() == params.targetvalue) {
return false;
}
return true;
});
$.validator.unobtrusive.adapters.add('cannotbevalue', ['value'], function (options) {
options.rules['cannotbevalue'] = { targetvalue: options.params.value };
options.messages['cannotbevalue'] = options.message;
});
</script>