Я использовал приведенные выше примеры для создания собственной функции. Но недостающая часть для меня автоматически ускользала от магических символов.
Вот мой вклад:
function split(text, delim)
-- returns an array of fields based on text and delimiter (one character only)
local result = {}
local magic = "().%+-*?[]^$"
if delim == nil then
delim = "%s"
elseif string.find(delim, magic, 1, true) then
-- escape magic
delim = "%"..delim
end
local pattern = "[^"..delim.."]+"
for w in string.gmatch(text, pattern) do
table.insert(result, w)
end
return result
end
В этом случае у вас есть два решения для этого. Вы можете написать собственный атрибут проверки или использовать IValidatableObject
в своем классе модели следующим образом:
Используя IValidatableObject
:
public partial class Item : IValidatableObject
{
public int Total {get; set;}
public int Accepted {get;set;}
public int Rejected {get;set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
List<ValidationResult> validationResults = new List<ValidationResult>();
if(Accepted + Rejected > Total)
{
validationResults.Add(new ValidationResult("The sum of Accepted and Rejected cannot greater than Total", new[] {""}));
}
return validationResults;
}
}