Это классический логин. Пользователь может выбирать между "новым пользователем" или "существующим пользователем". Если пользователь является новым, имя в поле входа в систему должно проверяться на сервере, чтобы узнать, является ли имя пользователя уникальным, если он уже существует, эта проверка будет пропущена, так как мы ожидаем, что имя пользователя будет принято уже (конечно).
Я добавил атрибут [Remote] в viewmodel и добавил радиообъект для нового/выходящего пользователя как "дополнительные поля". Таким образом, удаленная проверка вернет true, если это уже существующий пользователь, и проверьте базу данных, если это не так, чтобы увидеть, было ли выполнено имя пользователя.
Это отлично работает, за исключением случаев, когда пользователь решает изменить радиообъект (новый/существующий) после ввода имени пользователя (и была выполнена дистанционная проверка). Поскольку удаленная проверка выполняется только автоматически, когда имя пользователя изменяется (свойство с атрибутом [Remote]), сменив одно только радиобуй, он больше не будет запускаться.
Итак, моя проблема в том, как я могу заставить удаленную проверку снова запустить? Я попробовал обычные хаки, вызвав событие change/focus/blur в поле ввода имени пользователя, но вызов не запускается. Я подумал о добавлении аналогичного [Remote] на радиобарабане, но это действительно усложнит ситуацию с помощью двух одинаково выглядящих сообщений об ошибках, помещенных в одну и ту же абсолютную позицию.
Есть ли способ вызвать повторную проверку?