Как использовать валидатор jQuery с MVC 3 для отображения пользовательских изображений - PullRequest
2 голосов
/ 16 мая 2011

Я работаю в приложении MVC, пытаюсь использовать пользовательские изображения (установите флажок, когда ввод действителен, и «x», чтобы показать, что информация неверна).

Документация для плагинаможно увидеть здесь http://docs.jquery.com/Plugins/Validation/. У них есть несколько хороших примеров и даже некоторые демонстрационные приложения.

Я могу следовать примеру, приведенному здесь http://docs.jquery.com/Plugins/Validation/validate#toptions (прокрутите вниз до «Добавить класс« valid »к допустимым элементам, стилизованным с помощью CSS). Это работает правильно, если я использую простую HTML-страницуОднако, пытаясь следовать этому в MVC, я сталкиваюсь с проблемами и не могу найти причину.

Мой скрипт выглядит так:

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $("input").validate({
            success: "valid",
            submitHandler: function () { alert("Submitted!") }
        })
    })    
</script>

В моем Site.css

label.valid
{
    background: url('http://dev.jquery.com/view/trunk/plugins/validate/demo/images/checked.gif')    no-repeat;
    height:16px;
    width:16px;
    display: block;
    position: absolute;
    top: 4px;   
    left: 152px;
}

На мой взгляд

<div class="smallError" align="center">
       @Html.ValidationMessageFor(model => model.GiftCode)
</div>
<div align="center">
       @Html.EditorFor(m => m.GiftCode)
</div>

Теперь я могу заставить ValidationMessageFor появляться и показывать соответствующее сообщение ... однако я не могу заставить его отображать свою галочку, если изображениедействителен.

Есть ли какой-нибудь более простой способ связать уже выполненную проверку?

С уважением.

1 Ответ

0 голосов
/ 16 мая 2011

Для тех, кто заинтересован в решении этой проблемы, пожалуйста, скопируйте локально используемые файлы.

Например, в документации к плагину, он хочет, чтобы вы получили доступ к сценариям, например:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" 
 src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js">
</script>

Однако в MVC способ, которым они ссылаются на файлы, не будет работать.При попытке получить доступ к сценарию и связанному с ним файлу изображения появится запрещенная ошибка 403.

Для борьбы с этим просто загрузите сценарий локально и поместите его в папку сценариев в обозревателе решений.

Надеюсь, это сэкономит кому-то время в будущем, поскольку это была единственная проблема с примером, приведенным здесь: http://docs.jquery.com/Plugins/Validation/validate#toptions.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...