我正在使用mvc。 這是我的看法:我試圖用jquery驗證來突出顯示我的輸入
@using (Html.BeginForm("CreatePost", "Posts", FormMethod.Post, new { @enctype = "multipart/form-data", @id = "save-post-form" }))
{
<div class="row">
<div class="col-xs-5" id="post-details-div">
<div class="form-group">
<label>Post Title</label>
@Html.TextBoxFor(m => m.Title, new { @class = "form-control", @autocomplete = "off" })
@Html.ValidationMessageFor(m => m.Title, null, new { @class = "text-danger" })
</div>
<div class="form-group">
<label>Post Description</label>
@Html.TextAreaFor(m => m.Description, new { @class = "form-control", @autocomplete = "off" })
@Html.ValidationMessageFor(m => m.Description, null, new { @class = "text-danger" })
</div>
<div class="form-group">
<label>Post Cover Picture</label>
@Html.TextBoxFor(m => m.PostCoverFile, new { @type = "file" })
@Html.ValidationMessageFor(m => m.PostCoverFile, null, new { @class = "text-danger" })
</div>
</div>
<div id="post-content-div">
<label>Content</label>
<div class="form-group">
@Html.TextAreaFor(m => m.Content)
@Html.ValidationMessageFor(m => m.Content, null, new { @class = "text-danger" })
</div>
</div>
</div>
}
@section scripts{
<script>
require(["createPost"], function (module) {
$("#navbar-links").find("li[data-name='posts']").addClass('active');
module.load();
});
</script>
}
這是我的js文件。我只有表單驗證。 我使用要求JS:
define(["jquery", "mainModule", "ckeditor", "jqueryValidateUnobtrusive", "bootstrapTagsInput", "typeAhead"], function ($, module, CKEDITOR) {
var bind = function() {
$(document).ready(function() {
console.log("ready");
$('#save-post-form').validate({
highlight: function (element) {
$(element).addClass('error');
$(element).removeClass('valid');
console.log("ceva");
},
unhighlight: function (element) {
$(element).removeClass('error');
$(element).addClass('valid');
console.log("ceva");
}
});
});
var createPostPage = {
load: function() {
bind();
}
}
return createPostPage;
});
什麼也沒有發生,我不知道什麼是錯的... 請幫助我。驗證工作,但重點不會觸發。
謝謝!它工作 – AndreiB
@AndreiB,不客氣。如果解決了問題,請「接受」這個答案。 – Sparky
我是新手。我如何「接受」答案? – AndreiB