Ну, я ничего не использовал, поэтому решил создать реальную простую функцию разделения, надеюсь, что это поможет:
DECLARE inipos INTEGER;
DECLARE endpos INTEGER;
DECLARE maxlen INTEGER;
DECLARE item VARCHAR(100);
DECLARE delim VARCHAR(1);
SET delim = '|';
SET inipos = 1;
SET fullstr = CONCAT(fullstr, delim);
SET maxlen = LENGTH(fullstr);
REPEAT
SET endpos = LOCATE(delim, fullstr, inipos);
SET item = SUBSTR(fullstr, inipos, endpos - inipos);
IF item <> '' AND item IS NOT NULL THEN
USE_THE_ITEM_STRING;
END IF;
SET inipos = endpos + 1;
UNTIL inipos >= maxlen END REPEAT;
Официальная документация для проверки модели гласит следующее:
Проверка модели происходит до выполнения действия контроллера.
blockquote>Поэтому вам необходимо очистить
ModelState
и вручную запустить проверку, используя код снизу.if (!model.DifferentShippingAddress) { model.ShippingAddress = model.BillingAddress.ToShipping(); ModelState.Clear(); TryValidateModel(model); }