I've found a bug with RC2's client-side validation that causes an infinite loop (at least in IE7).Basically, if you create a standard ASP.NET MVC 2 RC2 web application template and then modify the LogOn.aspx view to this:
[Code]....
Note the new table that has been placed around it.Now, when you fire it up in IE7 and hit "Log On", the whole browser freezes and goes into an infinite loop.I have narrowed this down to the use of OnPropertyChange and the setting of the CSS classes for the elements themselves. It seems whenever an element is in a table, and you change its CSS class, the OnPropertyChange event fires with the property of "value" (which fires the entire process off again hence the endless loop).This is reproducable for me in IE7 (I haven't tested FireFox, IE6 or IE8).
want to know that can we validate a control which is out side a form element in asp.net(server side validation)and outside a form element in html(client side validation) let's take a closer look
I'm interested in identifying a means to verify the server-side validation is performing as expected, but need to bypass the client-side validation being done using ASP.NET validation controls. To test this, I've tried using the form Poster add-on to Firefox that allowed me to get/modify the page contents and post it, but the .NET framework interpreted the submission as harmful and threw an application error ("A potentially dangerous Request.Form value was detected from the client").I've created a WinForm that includes a WebBrowser control and I'm able to manipulate the contents of the web page and invoke the button click, but am interested in seeing how to allow a postback with invalid input values. I don't want to assume the server-side validation works (even though I do check if Page.IsValid on the server on postback).This submits the web form in the WebBrowseer control and the expected client-side validation fires: extendedWebBrowser1.Document.GetElementById(formButtonName).InvokeMember("click"); This is how I've manipulated some of the page contents (this just prevents submission): mshtml.IHTMLDocument2 doc = extendedWebBrowser1.Document.DomDocument as mshtml.IHTMLDocument2; string html = doc.body.innerHTML; html.Replace("Page_ValidationActive = false", "Page_ValidationActive = true"); doc.body.innerHTML = html.ToString(); extendedWebBrowser1.Document.GetElementById(formButtonName).InvokeMember("click");
If I enable client side validation in the view I'll get the error per the Attributes from the metadata class. If I take clientside validation out, error gets thrown from saving to the DB rather than return the view with an Error Summary.
This is the top portion of my view....
<% using (Html.BeginForm()) {%> <%: Html.ValidationSummary(true) %>
I've tried running without debugging (ctrl + f5) in debug and release mode as well as setting breakpoints and Debugging (f5) but it just seems weird to get Client side validation without server side validation. What am I missing here?
I have a gridview with a template field of check boxes.I have my rows color coded in BLUE color in the gridview based on a database value on page load.Now I want a button on the page to loop through the gridview and select the the checkbox for the rows that are in BLUE Color without a post back.
When I try to view the page in a browser (either Firefox or IE), it asks me for the username and password, and then...asks me for the username and password again.
I have an application that works great on localhost with forms authentication.I deployed it to the deployment machine and it to the build machine and received and endless set of 302 redirects.I try logging onto the deployment machine and access the page via the deployment machines ip and it works again.So it is not working when I try and access the site from my computer to the build computer.
if in the code behind, I set the label to "You must enter a value if the textbox is empty" to validate it on the server side and this is fine, but if javascript is enabled, I don't want to show the client side validation and the server side label together. Is this something where I would just have to disable the client-side validators if javascript was enabled?
I am having problems moving my reports from VS2008 to VS2010. I have made several WEB reports in VS2008 that use the code below on the load event of the WEB page to provide a data for the report and they all work correctly. I have to use this method of providing data because I am using several complicated queries that brake the VS2008 and VS2010 wizard.
When I try to convert over to VS2010, the report loading message flashes on the screen and the report never loads. I have run this code in debug and found that it is causing an infinite loop. After the code runs, the load event fires again. I tried adding an exit sub at the end of the code for a test but it has no effect.Below is a sample of the code that I am using with a simplified query and names.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' Declare connection string. Dim cnString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString.ToString [code]...
I am calling a method with __doPostBack using the OnFocus event for the controls. However I need to update the values multiple controls when the server method executes. This actually causes on focus to keep firing. Looking for help. I tried using TextBox1.Attributes.Remove("onfocus") and then adding it the javascript after processing but it still keep looping. Here is a sample using to textbox's for simplicity:
I'd like to implement ajax message box that will gather information from validators on a page when client-side validation fires. Like: I have left some text fields blank then press submit button and appropriate RequiredFieldValidators show messages. I would like my message box shows those messages too. I am looking for appropriate way to hook on validators JS event or something.
Using VS2005, VB code behind, I have a page with two DropDownLists and corresponding CascadingDropDown's. I want to automatically postback when the second DropDownList index changes, therefore I have set its AutoPostBack="true". I have wired up the web services and the lists are getting populated as expected in IE7+, FireFox and Opera, but when I view the page in a WebKit based browsers (Chrome, Safari) the CascadingDropDown appear to load in an infinite loop. I included theWebkit compatibility fix but the issue persists. I've attached a working example below.Anyone know why Webkit browsers are infinitely reloading the cascading dropdownlists? Is there a fix?Source code below:Markup:
I have error handling in Application_Error event of globals.asax file. Inside this event, I'm using Response.Redirect(~errorview.aspx) method, for redirection to site which is able to handle errors in user friendly way.
Everything works fine, unless exception is rising in Application_Start event. When error occurs there, my application gets trapped in infinite loop with the Application_Error method hit repeatedly. What is more, the page I'm redirecting to never gets hit. Changing Response.Redirect(~errorview.aspx) method to Response.Redirect(~errorview.aspx, false) changes nothing.
The good news is, when Response.Redirect(~errorview.aspx) has been replaced with Server.Transfer(~errorview.aspx), errorview.aspx page succesfully gets hit.
The side effect now is not loading CSS, and errorview.aspx page looks ugly. What is more, the CSS is not loaded only when exception occurs in Application_Start event. Exceptions thrown from any other place don't make the CSS mess.
How I can handle this problem in correct way, and why the CSS is missing in the one particular situation ? What is the appropriate way of handling errors in my case ?
I have fought a bizarre situation for days. Anytime a certain listview loaded the page went into an infinite loop of reloading. I was finally put the listview on a page with nothing else to see if I could isolate the issue.Even with only the folowing code, it continually looped on load even though it brought in the correct data every time.
I use the oob client side validation from mvc 2 RC. The input field validation errors are working fine. But the validation summary is missing. How to get the validation summary on client side validation?
When i use Validator callout extender and as well both client side java script validation , both are not working at a same time.I use java script code for dynamic checkboxes to be atleast one checkbox must be checked.When i use onclient click only javascript validations are fired, when use onclick function javascript code is not working.
I have in the fact copied the code of Login page in the ASP.NET MVC application template (provided with VS). In the original template, client side validation is working but when I copy all the connected code I get only server side validation (no red fields, post back even if data are incorrect).
public class LogOnModel { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [DataType(DataType.Password)] [Display(Name = "Password")] public string Password { get; set; } [code]...
I have tried everything to get client-side validation to work in MVC2 RC, but have been completely unsuccessful. Server-side validation works just fine, but client-side never fires. I have grabbed
[Code]....
from the futures source, since it wasn't included in RC. Unfortunately, that's the only script that people agree is necessary for everything to work. Besides that, nobody seems to know which other specific js scripts are needed. The candidates are (jquery-1.3.2.js, jquery.validate.js, MicrosoftMvcAjax.js, MicrosoftMvcJQueryValidation.js). I've tried every permutation of these and other scripts to no avail.
Html.EnableClientValidation() has been included before BeginForm, and the JSON validation data appears to be correctly written into the source of the page. But, again, client-side validation never fires.
I have number of fields in the view, which I am dynamically showing/hiding on the client side using jQuery e.g, if user enter 'abc' in first field, I will show three more fields and if he enters 'xyz' then I will show only single field.
I am using data annotations based Asp.Net MVC 2 validation (MVC 2 RTM) and the requirement is that only visible fields should be validated. I have added some code on the server side and the partial validation is working fine there but the issue is on the client side. Actually it works fine first time but fails after wards.
Here is what I am doing:
In $(document).ready event I am popping all the validation stuff in the array as shown below:
for (i = 0; i < numOfFields; i++) { fValidationArrL[i] = window.mvcClientValidationMetadata[0].Fields.pop(); }
When I show/hide the fields I push only those fields which are visible like this:
It works fine first time but second time when I do show/hide again, it appends the validation list instead of replacing it. So at the end it will validate all the fields that I have shown to the user at some point of time.
I have MaskedEditValidator, which set u pt ovalidate datetime entry into text box. After that the button (html button input control )is pressed in order to start some process. Button is running the client side function (JavaScript).
Now in case of wrong input validator shows proper message, but how I can prevent button to be pressed and start the process. I.e. is it possible to check on client side the status of the validation?
I have a problem of Validation still present for list object that have been dynamically deleted in the View. Here is the scenario. In my model I have a list. This list can be added and deleted dynamically in create and edit views. Lets say I am in the create view. I add two list objects dynamically and start filing the object and submit the form. The model validation fails in the server side (client side validation cannot be done as it involes some complex logic) because of some errors. Now the errors are being disaplayed for the two objects. Now I delete the first list object dynamically and correct the errors in the second list object and try to submit but the form will not submit because, the client side validation still thinks that the first list object is still present. Is there anyway to remove the client validation for objects that have been removed dynamically ?
My model
Contact.cs:
public class contact{ public List<Address> address; }
Steps for the problem.
1. Create two addresses in the create view.
2. Fill the fields and click submit.
3. Server side Model validation will report errors for fields.
4. Delete the first Address and correct the errors in the second object and click submit.
5. Submit will not work because the client side validation expects the errors to be corrected in the first Address which has been deleted.
I have a wizard style MVC 2.0 application, when I move forward I want client side validation to kick in and validate the form, but when I hit the back button I want the data entered by the user posted back to the server so I can save what they have entered, but without any client validation.