MVC 3 Form validation - model-view-controller

I have an app that is using standard out of the box form validation so when a user clicks the submit buttons and there are required fields not filled in, the validation message pops up next to the empty field. This is great, however, because our form is quite long we also like to display the same error messages at the top of the page in a bulleted list or something. Is there a quick way to do that? I can't seem to find where the validation is getting triggered in the jquery code to add new code to it. Anyone have any suggestions?
Thanks,
Rhonda

I figured out a way to do this that was quite simple. I just put a div at the top of the page and put all the #Html.ValidationMessageFor(m => m.Email) for every field in that div. This way they show up in both places.
Rhonda

Related

Django add fields to form dynamically based on number of values in model choice field

Objective:
From a Django Form, modelchoice field i am making the widget display multiple checkboxes. But for each checkbox I would like to display exactly one textbox and then submit. I need to know if the checkbox is not selected, it's id still and the possible textbox value. How do I acheive this, if it is Ajax. please elaborate. as I am fairly new to django and haven't worked much with ajax.
So you have to possible approaches here,
Simpler(but a very tardy approach):
Submit the form after user's checkbox input, process the input in views.py and accordingly serve the other part of the form on a different template. This will lead you to reloading the page and changing URL's for the same form. This approach is fine if you are doing it only to learn Django at first.
The better approach. You can use on page JavaScript/JQuery to determine whether the checkbox is ticked or no and the accordingly show the checkbox. You can do something like
if(document.getElementById('yourCheckBoxID').checked)
{
$("#FormFieldID").show();
}
else
{
$("#FormFieldID").hide();
}
If you are doing the latter, do remember to NOT set the input field as "required", as it may throw up errors when not showing the text field. Use some sort of JS form validation if you have to.
Hope this helps!

Oracle Apex add text to same page field after submit page button clicked?

I'm having a stressful issue with Oracle Apex. After pressing submit on a button (which is set to submit page) I would like validations to occur and then after that a message to appear as text into a display only text field. So when the page submits and "refreshes" the fields are cleared and the display only field := 'successful addition' or whatever. However, the page submits successfully but the after submit process to add the text into the display only field doesn't work. Do you guys know a way around this?
One aproach is to set the source of your DISPLAY_ONLY item to be your TEXT_FIELD item.
For more sophisticated solutions you can use Branch or Process.
For example: my TEXT_FIELD is named: P10_SOURCE
Thank you, all.
I've solved it by altering the sequence of validations and processes.

How to display MVC 3 unobtrusive validation errors ONLY in a summary or div

The project is MVC 3 with Razor views and JQuery unobtrusive validation. Our web pages are set up with the label above the textbox and the validation message falls under the textbox. Usually the textbox is about 150px wide so the validation message tends to be rather narrow and tall. It doesn't look nice.
I would prefer to utilize the Html.ValidationMessageFor helper to position all of the messages together at the top of the page, preferably in a bulleted list. I haven't found a way to "turn off" the display of the messages that are next to the textboxes, although I can use a validation summary to catch the property errors on submit.
Many of the validations are occurring in popups and we are using Telerik for the popups.
I would prefer to avoid editing the open source js files, if possible.
Remove the Html.ValidationMessageFor() items in your view => this will disable the messages appearing beside your textboxes.
Next, add Html.ValidationSummary(false, "Your Message") at the point that you want the bulleted list to appear (must be within the using(html.BeginForm() call). The false in this Html Helper is an overload that instructs the summary to not exclude property errors. For styling, you will need to do some CSS work.
You might want to look into using the <%: Html.ValidationSummary(true) %> markup. This creates what you're looking for.

MVC3 Want Clientside Validation to trigger for two fields when one of the two is modified

I am creating an MVC3 website and added a couple of security questions to the "My MVC Application" Registration routine in the form of dropdown boxes. I created a custom validator to check the second dropdown box and if the selected item is the same as the first then it shows an error message.
My problem is that the clientside validation triggers as soon as the second dropdown box loses focus. After the error is displayed, ideally, I should be able to change the selection in the first dropdown box and the validation error message for the second dropdown box should go away. But, of course, changing the first dropdown box does not trigger the clientside validation routine for the second dropdown box and the error does not go away.
I would appreciate it if someone who is well versed with the internalls of unobstrosive Ajax validation routines would guide me to a solution so that when the selection of one dropdown box changes the validation routine of both dropdown boxes is triggered.
Thanks a bunch for any pointers.
If you look at this question and my answer, you will see code for client-side validation where changing one field will trigger validation on another field, and will then stop after both fields' validation has run.

Custom "Next" Buttons for Spring MVC AbstractWizardFormController

Currently, a spring application I am working on has several wizards that it is using with Spring's AbstractWizardFormController. During the early stages of development(pre-design phase), the type of "next" button did not matter.
Just to refresh, the Next and Back button are submit buttons with target attributes. So a next button on the first page of a wizard would look like the following.
<input type="submit" name="_target1" value="Next"/>
This is the standard way Spring does wizards on the view. This works fine, given that you want your Next button to be a standard HTML submit button. Otherwise, in my case, If I want a custom button, I am not sure how to do this. I know it is possible, but haven't found any documentation.
I imagine I will need to do a javascript submit, but I am not sure how to set the name of the button, of if something else needs to be done.
I just need to know how I can still extend AbstractWizardFormController, and use custom buttons.
When clicked, HTML submit button submits a form with additional parameter {name}={value}, that is _target1=Next. I guess the value doesn't matter here, controller looks at the name. So, if you want to emulate this with Javascript, you may, for example, dynamically add a hidden field with name = "_target1" before submit.

Resources