I have following code (default from mvc application)
I tried to replace jquery validation by replacing scripts according with suggestion from other post:
But this is not working. Could anybody tell me what is the quickest way to do that?
@using (this.Html.BeginForm(new { this.ViewBag.ReturnUrl })){ @Html.AntiForgeryToken() <div class="l-editor-label"> @this.Html.LabelFor(m => m.UserName) </div> <div class="l-editor-field"> @this.Html.TextBoxFor(m => m.UserName, new { @class = "k-textbox" }) @this.Html.ValidationMessageFor(m => m.UserName) </div> <div class="l-editor-label"> @this.Html.LabelFor(m => m.Password) </div> <div class="l-editor-field"> @this.Html.PasswordFor(m => m.Password, new { @class = "k-textbox" }) @this.Html.ValidationMessageFor(m => m.Password) </div> <div class="l-editor-label"> @this.Html.CheckBoxFor(m => m.RememberMe, new { @class = "k-checkbox" }) @this.Html.LabelFor(m => m.RememberMe) </div> <p class="button"> <button class="k-button"> Log in</button> </p> <p>@this.Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")</p> }<script src="@this.Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"> </script><script src="@this.Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script> <script src="@this.Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"> </script>I tried to replace jquery validation by replacing scripts according with suggestion from other post:
$("form").kendoValidator();But this is not working. Could anybody tell me what is the quickest way to do that?
6 Answers, 1 is accepted
0
Jayesh Goyani
Top achievements
Rank 2
answered on 10 Oct 2012, 12:52 PM
Hello,
Please try with below code snippet.
Please also check below link for reference.
http://jayeshgoyani.blogspot.in/2012/10/validate-upload-control-in-kendoui.html
Thanks,
Jayesh Goyani
Please try with below code snippet.
$(document).ready(function () { var validator = $("#tickets").kendoValidator().data("kendoValidator"); });
$("button").click(function (e) {
if (!validator.validate()) {
e.preventDefault();
}
});
<div id="tickets">@using.......{.......................... <button class="k-button" type="submit">Submit</button>}</div>Please also check below link for reference.
http://jayeshgoyani.blogspot.in/2012/10/validate-upload-control-in-kendoui.html
Thanks,
Jayesh Goyani
0
Marcin
Top achievements
Rank 1
Veteran
answered on 19 Oct 2012, 07:15 AM
This solution is not working for me. validator.validate() returns true, even if fields are empty.
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 20 Oct 2012, 04:28 AM
Hello,
I have tried with default mvc4 application and works.
Login.cshtml
Please check below screen shot.
With KendoUI Validaton

With out kenoUI validation

_Layout.cshtml
BundleConfig
Page view source.
Let me know if you have any concern.
Thanks,
Jayesh Goyani
I have tried with default mvc4 application and works.
Login.cshtml
@model MvcApplication1.Models.LoginModel@{ ViewBag.Title = "Log in";}<script type="text/javascript"> $(document).ready(function () { var validator = $("#tickets").kendoValidator().data("kendoValidator"); $("input").click(function (e) { if (!validator.validate()) { e.preventDefault(); } }); });</script><hgroup class="title"> <h1>@ViewBag.Title.</h1></hgroup><section id="loginForm"><h2>Use a local account to log in.</h2><div id="tickets">@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })){ @Html.AntiForgeryToken() @Html.ValidationSummary(true) <fieldset> <legend>Log in Form</legend> <ol> <li> @Html.LabelFor(m => m.UserName) @Html.TextBoxFor(m => m.UserName) @Html.ValidationMessageFor(m => m.UserName) </li> <li> @Html.LabelFor(m => m.Password) @Html.PasswordFor(m => m.Password) @Html.ValidationMessageFor(m => m.Password) </li> <li> @Html.CheckBoxFor(m => m.RememberMe) @Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" }) </li> </ol> <input type="submit" value="Log in" /> </fieldset> <p> @Html.ActionLink("Register", "Register") if you don't have an account. </p>}</div></section><section class="social" id="socialLoginForm"> <h2>Use another service to log in.</h2> @Html.Action("ExternalLoginsList", new { ReturnUrl = ViewBag.ReturnUrl })</section>@section Scripts { @Scripts.Render("~/bundles/jqueryval")}Please check below screen shot.
With KendoUI Validaton
With out kenoUI validation
_Layout.cshtml
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" /> <title>@ViewBag.Title - My ASP.NET MVC Application</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width" /> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/modernizr") @Styles.Render("~/Content/kendo") @Scripts.Render("~/bundles/kendo") </head><body> <header> <div class="content-wrapper"> <div class="float-left"> <p class="site-title">@Html.ActionLink("your logo here", "Index", "Home")</p> </div> <div class="float-right"> <section id="login"> @Html.Partial("_LoginPartial") </section> <nav> <ul id="menu"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "About", "Home")</li> <li>@Html.ActionLink("Contact", "Contact", "Home")</li> </ul> </nav> </div> </div> </header> <div id="body"> @RenderSection("featured", required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div> <footer> <div class="content-wrapper"> <div class="float-left"> <p>© @DateTime.Now.Year - My ASP.NET MVC Application</p> </div> </div> </footer> @RenderSection("scripts", required: false)</body></html>BundleConfig
using System.Web;using System.Web.Optimization;namespace MvcApplication1{ public class BundleConfig { // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include( "~/Scripts/jquery-ui-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*")); bundles.Add(new ScriptBundle("~/bundles/kendo").Include( "~/Scripts/kendo.web.*", // or kendo.all.* if you want to use Kendo UI Web and Kendo UI DataViz "~/Scripts/kendo.aspnetmvc.*")); // The Kendo CSS bundle bundles.Add(new StyleBundle("~/Content/kendo").Include( "~/Style/kendo.common.*", "~/Style/kendo.default.*")); // Use the development version of Modernizr to develop with and learn from. Then, when you're // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( "~/Scripts/modernizr-*")); bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); bundles.Add(new StyleBundle("~/Content/themes/base/css").Include( "~/Content/themes/base/jquery.ui.core.css", "~/Content/themes/base/jquery.ui.resizable.css", "~/Content/themes/base/jquery.ui.selectable.css", "~/Content/themes/base/jquery.ui.accordion.css", "~/Content/themes/base/jquery.ui.autocomplete.css", "~/Content/themes/base/jquery.ui.button.css", "~/Content/themes/base/jquery.ui.dialog.css", "~/Content/themes/base/jquery.ui.slider.css", "~/Content/themes/base/jquery.ui.tabs.css", "~/Content/themes/base/jquery.ui.datepicker.css", "~/Content/themes/base/jquery.ui.progressbar.css", "~/Content/themes/base/jquery.ui.theme.css")); //bundles.Add(new StyleBundle("~/styles/css").Include("~/styles/StyleSheet1.css")); // Clear all items from the default ignore list to allow minified CSS and JavaScript files to be included in debug mode bundles.IgnoreList.Clear(); // Add back the default ignore list rules sans the ones which affect minified files and debug mode bundles.IgnoreList.Ignore("*.intellisense.js"); bundles.IgnoreList.Ignore("*-vsdoc.js"); bundles.IgnoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled); } }}Page view source.
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" /> <title>Log in - My ASP.NET MVC Application</title> <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width" /> <link href="/Content/site.css" rel="stylesheet"/> <script src="/Scripts/jquery-1.7.1.js"></script> <script src="/Scripts/modernizr-2.5.3.js"></script> <link href="/Style/kendo.common.min.css" rel="stylesheet"/><link href="/Style/kendo.default.min.css" rel="stylesheet"/> <script src="/Scripts/kendo.web.min.js"></script><script src="/Scripts/kendo.aspnetmvc.min.js"></script> </head><body> <header> <div class="content-wrapper"> <div class="float-left"> <p class="site-title"><a href="/">your logo here</a></p> </div> <div class="float-right"> <section id="login"> <ul> <li><a href="/Account/Register" id="registerLink">Register</a></li> <li><a href="/Account/Login" id="loginLink">Log in</a></li> </ul> </section> <nav> <ul id="menu"> <li><a href="/">Home</a></li> <li><a href="/Home/About">About</a></li> <li><a href="/Home/Contact">Contact</a></li> </ul> </nav> </div> </div> </header> <div id="body"> <section class="content-wrapper main-content clear-fix"> <script type="text/javascript"> $(document).ready(function () { var validator = $("#tickets").kendoValidator().data("kendoValidator"); $("input").click(function (e) { if (!validator.validate()) { e.preventDefault(); } }); });</script><hgroup class="title"> <h1>Log in.</h1></hgroup><section id="loginForm"><h2>Use a local account to log in.</h2><div id="tickets"><form action="/Account/Login" method="post"><input name="__RequestVerificationToken" type="hidden" value="yrt6pWWT0cRxJgR1pbxQHmzSZbftfrJcmPyQmu8iCAFXccM_GihgYdIPujKQ_o-19fysMoS_f86_4sPQfG3VfR07MQiG29rRhFxM5nXiiGIE0sfYxFA-6Bkg-bpb2BuXjS8FRFYYHZnfl86YlXEvqRR3TSdUCmwzWObB6QsCFjk1" /> <fieldset> <legend>Log in Form</legend> <ol> <li> <label for="UserName">User name</label> <input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span> </li> <li> <label for="Password">Password</label> <input data-val="true" data-val-required="The Password field is required." id="Password" name="Password" type="password" /> <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span> </li> <li> <input data-val="true" data-val-required="The Remember me? field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true" /><input name="RememberMe" type="hidden" value="false" /> <label class="checkbox" for="RememberMe">Remember me?</label> </li> </ol> <input type="submit" value="Log in" /> </fieldset> <p> <a href="/Account/Register">Register</a> if you don't have an account. </p></form></div></section><section class="social" id="socialLoginForm"> <h2>Use another service to log in.</h2> <div class="message-info"> <p>There are no external authentication services configured. See <a href="http://go.microsoft.com/fwlink/?LinkId=252166">this article</a> for details on setting up this ASP.NET application to support logging in via external services.</p> </div></section> </section> </div> <footer> <div class="content-wrapper"> <div class="float-left"> <p>© 2012 - My ASP.NET MVC Application</p> </div> </div> </footer> <script src="/Scripts/jquery.unobtrusive-ajax.js"></script><script src="/Scripts/jquery.unobtrusive-ajax.min.js"></script><script src="/Scripts/jquery.validate.js"></script><script src="/Scripts/jquery.validate.min.js"></script><script src="/Scripts/jquery.validate.unobtrusive.js"></script><script src="/Scripts/jquery.validate.unobtrusive.min.js"></script></body></html>Let me know if you have any concern.
Thanks,
Jayesh Goyani
0
Marcin
Top achievements
Rank 1
Veteran
answered on 20 Oct 2012, 08:41 AM
Hello
I replaced Login view with your login code in default mvc 4 application but it is still not working. validator.validate() always returns true even if all fields are empty. Could you post _layout view as well? So I will be able compare script/css inclusions.
I'm have included following scripts and css in my head section:
I replaced Login view with your login code in default mvc 4 application but it is still not working. validator.validate() always returns true even if all fields are empty. Could you post _layout view as well? So I will be able compare script/css inclusions.
I'm have included following scripts and css in my head section:
<link rel="stylesheet" href="/Content/Kendo/kendo.common.min.css" type="text/css"><link rel="stylesheet" href="/Content/Kendo/kendo.blueopal.min.css" type="text/css"><link rel="stylesheet" href="/Content/Kendo/kendo.mobile.all.min.css" type="text/css"><link href="/Content/site.css" rel="stylesheet"/><script src="/Scripts/jquery-1.8.0.js"></script><script src="/Scripts/modernizr-2.5.3.js"></script><script src="/Scripts/Kendo/kendo.all.js"></script><script src="/Scripts/Kendo/cultures/kendo.culture.en-GB.js"></script>0
Jayesh Goyani
Top achievements
Rank 2
answered on 20 Oct 2012, 09:25 AM
Hello,
i have update my above code.
Thanks,
Jayesh Goyani
i have update my above code.
Thanks,
Jayesh Goyani
0
Marcin
Top achievements
Rank 1
Veteran
answered on 20 Oct 2012, 09:52 AM
Thank you,
I was missing kendo.aspnetmvc.js scripts.
I was missing kendo.aspnetmvc.js scripts.