C# - Client-Side Validation Prvent Manually Postback By JavaScript Eval ()
Mar 8, 2010
I encouter some postback issue when using GetPostBackEventReference. Here is the Scenario:I have a javascript modal popup dialog and got a button in this modal dialog which used to select things (this is NOT an asp:button control)
When this javascript dialog HTML button is clicked, it will call the MS AJAX web service call by the javascript: eval() method. And this MS AJAX web service call is dynamically generated. So the code is like this:
var serviceCall = svcCall + "(" + parameters + ")"; //dynamically generate the MS AJAX web service call here
eval(serviceCall);
//use eval to trigger the MS AJAX web service call
As you may all know, after complete the MS AJAX web service, you can define a callback function to handle the completion:
function OnComplete(result, userContext, methodName) {
//force to call postback manually
eval($(userContext[0]).val()); [code]...
As you can see, this is how I bound the asp:button (i.e. btnSelectUser) 's Click Event to the asp:hiddenfield using the GetPostBackEventReference, and set the registerForEventValidation argument to false. I have also tried to use different ValidationGroup and set the CausesValidation to false.In summarize, I bound the asp:button's Click PostBackEventReference(i.e. __doPostback(....)) to the asp:hidden field's Value attribute, and using javascript eval() to eval this hidden field's value in order to manually trigger postback.
p.s. the btnSelectUser is an asp:button control and used to call out the javascript modal dialog.
Ok, here is the Problem:In the same page, there is some asp:validator, e.g. and , and of coz, when the page run into error, this validator and callout will display to the user. e.g. When the user didn't fill in anything and submit the form, the ValidatorCalloutExtender will display a ballon and tell the user. Imagine one of this ballon/validatorCalloutExtender come out and on top of your screen at the moment.
Then you click the btnSelectUser (asp:button) to show the javascript modal dialog, and in the dialog, you Add some users, and once you hit the SELECT button inside this modal dialog, a MS AJAX web service is trigger as mentioned above, and once this web service is complete, it eval() the asp:hidden field's value (i.e. __doPostback(...))......and do the postback manually.
However, because of the validatorCalloutExtender ballon has display, it somehow cannot trigger the postback in this way, but when I close the ballon/validatorCalloutExtender, the manual postback using eval() is just working fine. Even more strange is that, when the ballon is displayed, the first time I click the SELECT button inside this modal dialog it doesn't fire the postback, however, if I do the same thing again (i.e. open up the javascript dialog, and choose some users, then click the SELECT button again). It able to do the manual postback....and I don't understand why the first time doesn't work.
View 1 Replies
Similar Messages:
Sep 6, 2010
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
<html>
<body>
<input type="text" name="first name"/>
</body>
</html>
can we apply clien side validation on above text box by java script ?in asp.net
<form runat="server">
</form>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
View 2 Replies
Mar 29, 2011
I have an asp.net web for with a few Validation controls on:
[code]....
View 3 Replies
Mar 21, 2011
How can I conditionally disable client-side validation of some fields ?
Here is the example of what I need to do:
user writes name and address and submits. Both are validated both server and client side. If validation passes e-mail is send to given address and (name, address) pair is stored.as a response same page is displayed (I don't want redirect!) this time with confirmation. User can retype their name and submit. In such case e-mail will be resend to the address that corresponds to given name.
It does not work because: client side validation will not pass when user clicks resent button on the second (confirmation screen). It would say that e-mail is required even if there is no field for it. How can I disable javascript validating email before the confirm page gets send to user ?
Example ASP.NET MVC page
<%if (Model.Confirm == false){ %>
<% using (Html.BeginForm()) { %>
Your email: <%: Html.EditorFor(m => m.Email) %>
Your name: <%: Html.EditorFor(m => m.Name) %>
<input type="submit" value="Send Email" />
[Code]....
View 4 Replies
Nov 10, 2010
Is there a way that I can execute a javascript function after the client side validation occurs in asp.net?I have a couple validation controls on a page and an input button with CausesValidation=true. The OnClientClick handler executes javascript before the validation runs, but i want to run some functions afterwards.
View 1 Replies
Apr 5, 2011
I have a form that contains multiple and different input controls .. and I have two types of validation:
This type insures that the user input doesn't violate my application's constraints (required, max length, regExp).. and this is done on the client side using the ASP.NET Validation Controls .. and it's enforced by a server side validation.
This type works on a deeper level, like the database. it check if the entry is duplicate and any other check that can't be done on the UI level.
I use the ValidationSummary control to display the first type's errors, and a label for the second's type errors. I tried to test it with the JavaScript disabled and it worked fine, then I turned the JS back on and *Here comes the problem: *
I first try to raise an error on the db layer (by entering a name that already exists) and the error is displayed on the label and everything is good .. now I try to remove the name from the textbox and press the submit so I could raise a required field validator error the expected output is "This field is required" only but what I see is "the name already exists" and "This field is required".
I think it's because when the ASP.NET RequiredValidator works, it doesn't make a postback, so the database layer will never be validated and won't even get the label cleared!
View 1 Replies
Jul 15, 2010
Basically I want to get some javascript to be sent back to the client and executed from a postback inside an UpdatePanel. Furthermore this is inside of a reusable WebControl. I've tried
this.Page.ClientScript.RegisterStartupScript and this.Page.ClientScript.RegisterClientScriptBlock but Firebug shows that those scripts aren't sent back in the postback's response.
I also tried straight up writing a <script> tag inside the control's main div in the Render method, which does get sent back but isn't executed. I got a hacky solution working, but ideally looking for a cleaner solution. The hack is to add a 1x1 pixel img with width/height set to 0 and use that for an onload event to execute the script and that works, but it seems like there has to be a cleaner way to do this.
View 1 Replies
Dec 17, 2010
How do I implement client side validation for input fields that have been added to the form dynamically with javascript in an MVC 2 application?
View 2 Replies
Jul 8, 2010
I have two checkboxes: cb1 and cb2. They are both hooked up to an onClick event which checks if at least one checkbox is clicked. If this is not the case, it throws an alert and reverts the change. If a legal change was made (e.g. cb2 was checked, followed by cb1 being unchecked), the function calls the server function checkChange() which needs the object and eventargs.
I'm having trouble with the following:
Reverting the change: how can i find out which checkbox was clicked without adding an extra javascript function for the second checkbox? This has to be a scalable solution as more checkboxes may be added later.
How do I call the server function checkChange(). I am aware of "this.Page.GetPostbackEventReference" but I am confused as to the parameters it takes.
View 1 Replies
Dec 30, 2010
I'm losing client side href. Is it possible to send it back to the server on the button submit using a variable or something?
View 1 Replies
Dec 9, 2010
Is there any way to add a confirmation dialog to a submit button when the form already has other validation controls and a summary control using "showmessagebox=true"? I tried adding
OnClientClick="return confirm('Are you sure?');" to the submit button, but that seems to block all of the other validation?
View 3 Replies
Mar 1, 2011
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");
View 3 Replies
Nov 23, 2010
I have a user control which contains a CustomValidator which is used according to whether a RadioButton is checked or not (there are several RadioButtons, I'm only showing the relevant one)
<asp:RadioButton runat="Server" ID="RadioBetween" GroupName="DateGroup" CssClass="date_group_options_control_radio" />
[code]...
There is some client + server side validation code (the server side code does exactly the same thing and is skipped for brevity)
<script type="text/javascript">
function ValidateDateFields_Client(source, args) [code]...
There are two instances of this control in the page. When running the client side version it hits the wrong one (the version of the control which is disabled). You can see from the generated HTML both are correctly specified. I'm not sure how .NET works out which clientside function to call given they both have the same name.
<script type="text/javascript">
//<![CDATA[
var ctl00_MCPH1_QueryTextValidator = document.all ? document.all["ctl00_MCPH1_QueryTextValidator"] : document.getElementById("ctl00_MCPH1_QueryTextValidator");
[code]...
Do i need to add something in to scope it? What's the best way to achieve this? If I disable the loading of the second control everything works fine.
View 1 Replies
Jun 15, 2010
n a form I have multiple group of controls which are grouped using validation group property. I want to assign validation group to asp.Button dynamically on client side using javascript on the base of item selected in drop down list.
Here is JavaScript which I am using, but it is not working. It shows validation group undefined but actually a default group is defined.
<script type="text/JavaScript">
function NextClicked() {
var _ddlStatus = document.getElementById("<%=ddl.ClientID%>");
var _selectedIndex = _ddlStatus.selectedIndex;
var _btn = document.getElementById("<%=btnNext.ClientID%>");
alert(_btn.ValidationGroup); // here in messge it shows undefiend, yet I have defiend a group in button as default.
if (_selectedIndex == 1) {
_btn.ValidationGroup = "G1";
}
if (_selectedIndex == 2) {
_btn.ValidationGroup = "G2";
}
}
View 1 Replies
Aug 12, 2010
I'm using an entity model with metadata annotations. My controller method looks like this...
if (!ModelState.IsValid)
{
return View(model);
}
else
{
UpdateModel(model);
repo.Save();
return RedirectToAction("Index");
}
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?
View 1 Replies
May 19, 2010
I am trying to create a custom password validation attribute which has these requirements
1. cannot be empty.
2. doesn't contain space or other special chracters, which I'll define later.
3. length is between 6 - 12
[Code]....
it works fine on the server-side but I'd like to make this work on the client side as well, so I created a PasswordAttributeAdapter class
[Code]....
and in global.asax I added
[Code]....
View 6 Replies
Dec 12, 2010
If I have something like the following:
<asp:TextBox id="test" runat="sever"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ControlToValidate="test"
ErrorMessage="Required"></asp:RequiredFieldValidator>
<asp:Label runat="server" id="lblStatus"></asp:Label>
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?
View 3 Replies
Jan 18, 2011
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.
View 2 Replies
Jan 28, 2011
iam using the Jquery Uframe with asp.net project.Iam getting a postback problem here.
In side the uframe ,button control getting postback the page even the client side method call also.
i tried with the Html button Control also by setting the type="submit" ,iam facing the same problem.
And I got very limited reference about the uframe(codeflex,codeProject).
View 6 Replies
Jan 21, 2010
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?
View 3 Replies
Sep 8, 2010
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.
View 7 Replies
Dec 9, 2010
I have a requirement of adding server side variables in client side and other way round. Because I need to set a value from client side using javascript and access the same in code behind page.
I have to use C#.Net and JavaScript.
View 2 Replies
Feb 11, 2011
I have a list of items on an ASP.net page. That list is selectable in that whenever the user clicks on one, the page does a postback and the server code stores the index or some unique identifier of the picture in a ViewState property indicating that it is currently selected.
I would like to minimize the load on the server and therefore I would like to store the index or unique identifier representing the image in some way on the client side. The best way I can think to do this is to store said information in a hidden field ), however I had two questions about this before I go crazy:
Is this a security risk in any way, shape or form (i.e., exposing implementation details of the page)?
Is there a better/best way to do this that is more industry-standard? Does ASP.net provide a framework to do this that is cleaner than my idea? Seems like this would be a fairly common requirement to me...
View 1 Replies
Sep 14, 2010
Possible Duplicates: how to call server side function from client side - asp.net Calling ASP.NET Code Behind function from Javascript Calling ASP.NET server side method via JQuery While loading an aspx page, how is it possible to call a server side method with the client side code?Can u show one example?
View 4 Replies
Feb 11, 2011
I have two comboboxes and would like pass selected value and text to the server method (RadComboBoxItemsRequestedEventArgs) when the first combobox selected index changed.
Here is my code. But I am getting Javascript error message at this line. RadComboBox2.requestItems(item, false).
[code]....
View 1 Replies