How To Validate Against Multiple Validation Groups
Mar 24, 2010
I have two validation groups: parent and child
I have an add button that needs to only validate the child validation group which is easily done. The save button needs to validate against the parent and child validation groups, both client side and server side. I think I know how to do it server side by calling the Page.Validate("groupname") method for each group, but how can it be done client side?
I need to be able to validate multiple validation groups with the click of one button. My Form consists of two text boxes and a drop down list for input. The form also, currently, has three buttons, one for each control. Each of those buttons are tied to a validation control and if the validation is successful, it will add the user inputted data into a database that I have. The interesting part comes when I need to add a forth button which will act as a "Save All" Button. When this button is clicked, I need it to fire the three validation groups.
Is it possible to add multiple validation groups to the "Save All" Button?
I have a Dynamic GridView on a page as below. The user can add or delete rows. When inserting record, the code is executed one row at a time. I have 3 rows to be inserted to the database. Here is the issue:
-if the first row is not completed, then no record is added to the database
-if the first row is completed and the second row is not, then only the first row is inserted in the database
-if the first row is completed, the second row is not complete, and the third row is completed, then only the first row is inserted in the database.
How to arrange this piece of code to validate all rows before any insert? or avoid inserting a row if there is one row not complete?the conditions starts with int rowIndex = 0;
Is it possible for an ASP.NET Validation Rule to belong to multiple groups? I'd like to validate the same control in different ways based on what mode the form is in using a single Validator. For the purposes of this question, the modes are Simple, which requires fewer fields, or Complex, which requires more fields. I know I can write CustomValidators (which I have done in the past), but I'd like a simpler solution.
i created a page with validates. now i want to add the back buttion but when i click it all the validates comes "up". how can I cancel them? maybe with a gruop or somthing?
an the secound qustion is about time, i have like that HH:MM. the time tyoe is string,how i compare them now?
I have an application that needs to render a page that will have multiple Radio Button Groups as well as multiple CheckBoxes. The desired layout is determined by a database table.
This table defines a "Package". The "Package" can contain many different "Items" that require different controls used in the View. The "RadioGroupName" field is used to mark which RadioButtons should be grouped together. The "ViewControl" field marks which control should be used on the View to display the field. The query in my repository will return a result set such as
Given this result set, I need to render the view as follows:
A RadioButton group with 3 options (Item1, Item2, Item3) A CheckBox (Item4) A CheckBox (Item5) A RadioButton group with 3 options (Item6, Item7, Item8)
I have read that it is possible to use "if" conditions and looping structures inside the View. I have also read that this is a bad practice. Another issue I see is knowing which Item has been selected from each RadioButton group when I hit the Controller POST function. Previously I have built a page that has a single RadioButton group. My ViewModel was as follows:
basically i have a page with the followingtextbox1 button1 and required field1 /validator callout1textbox2 button2 and required field2 /validator callout2button1 needs to only call validation controls1 and button2 needs to call validation controls2. how do i do this. I'm not really sure what to search for so any links to a tutorial/explanation
I have a multi section form which the user can jump between sections to complete. Each section has its own validation group associated with it. I want to create a summary page which itterates through each of the validation groups and outputs if it is valid or not by changing an associated text.The problem that I am having is that once one validation group fails validation all subsequent sections also report as failing - presumably as the page.isvalid is still holding the fact that a previous group has failed
but it didn't work.What i want to do is, when a user clicks button1, it only validates validation group"v1" When button2 is clicked, it validates both "v1" & "v2" validatino groups. <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="v1"/> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ValidationGroup="v1" ControlToValidate="TextBox1"/> [code]....
this file is uploaded to http://zuke.us/espada/test1.aspx
What I would like to do is to validate my aspx before showing the confirmation diaglog. After long hours of searching on the Net I came up with this:Some Validation controls with 2 different validation groups (ValidationGroup1 and NoValidation)ValidationSummary control is set to ValidationGroup1 with MessageBox=TrueButton1 is set to ValiationGroup1 (this button is hidden)Button2 is set to ValidationGroup1 with javascript onclick function to click button1. ConfirmButtonExtender1 with TargetControlID=button1
In a multigrid i have validating two controls like date and amount.it is validating correctly when i press the tabevent.when i press the save button it is not validating.iam using two validations gruops and two validation summary.Then in save button i have also tried onclientclick() function with javascript it s working fine but if i give the correct value in date and amount records not saving how to over come this.
How can I declare multiple groups in LINQ? I get this error "Range variable 'Group' is already declared." Error found in bold and underlined text below.
Dim SportsWear = From c in dbContext.SportsTable Group Join grp_Attire In dbContext.AttireTable On grp_Attire.AttireId Equals c.AttireId Into Group From sportsAttire In Group.DefaultIfEmpty() Group Join grp_SportType In dbContext.SportType On grp_SportType.TypeId Equals c.TypeId Into Group From sportsType In Group.DefaultIfEmpty() Select New With { _ .Attire = sportsAttire.AttireName,.Type = sportsType.TypeName}
I can access the website I've created on my local machine in debug mode; and with my domain account as a local administrator, if I do this:
[Code]....
I can still access the website; and with my domain account in a Domain Group named "DomainDomainLocalSecurityGroup", if I do this:
[Code]....
I can still access the website; HOWEVER, if I create a Local Group on my machine named "LocalMachineGroup" and I add "DomainMyDomainUserName" to this group and I do this:
[Code]....
I get an Access Denied error trying to access the website. What I want to do is, have a group on my local machine (for testing), on a test web server, and on a production web server named "MyWebsiteUserAccess" with the same Domain Group (filled with Domain Users allowed access to the site) in all of these local groups; so that when I test the web application on my local machine, on my test web server and on my production web server, I don't have to change the Web.config file to have it work on each AND if the Domain Group name ever has to change, it won't affect access to the website.
What am I overlooking or is this even possible to do this way? I understand that there is a way to do Role Management through ASP.NET but I don't understand that well enough yet to implement that (and will probably go that route once I've done the research on how to best implement it for purpose of access control of this intranet site).
I have a user that when I attempt to enumerate her groups using either System.Security.Principal.WindowsIdentity.GetCurrent().Groups on user's computer or System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups on the IIS server, I get a list of their old groups, not their new. I have checked the DC that they authenticate to and the ASP.NET page is running inside a SharePoint instance so the LogonUserIdentity most like is being provided from there Kerberos ticket. Should I be looking up the groups directly from the AD instead of relying on the WindowsIdentity or LogonUserIdentity?
i have a code to get the groups a user belongs to.
try { DirectoryEntry adRoot = new DirectoryEntry(string.Format("WinNT://{0}", Environment.UserDomainName)); DirectoryEntry user = adRoot.Children.Find(completeUserName, "User"); object obGroups = user.Invoke("Groups"); foreach (object ob in (IEnumerable)obGroups) { // Create object for each group. DirectoryEntry obGpEntry = new DirectoryEntry(ob); listOfMyWindowsGroups.Add(obGpEntry.Name); } return true; } catch (Exception ex) { new GUIUtility().LogMessageToFile("Error in getting User MachineGroups = " + ex); return false; }
the above code works fine when i have to find the groups of a local user but
for a domain user it returns a value "Domain User" which is kind of wierd as it is a part of 2 local groups.
Research
I did some finding and got that i am being returned the primary group of the domain user
called "Domain User" group
but what i actually want is the groups of the local machines the domain user is a part of... i cannot get that.. any suggestions
another code using LDAP
string domain = Environment.UserDomainName; DirectoryEntry DE = new DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.Secure); DirectorySearcher search = new DirectorySearcher(); search.SearchRoot = DE; search.Filter = "(SAMAccountName=" + completeUserName + ")"; //Searches active directory for the login name search.PropertiesToLoad.Add("displayName"); // Once found, get a list of Groups try { SearchResult result = search.FindOne(); // Grab the records and assign them to result if (result != null) { DirectoryEntry theUser = result.GetDirectoryEntry(); theUser.RefreshCache(new string[] { "tokenGroups" }); foreach (byte[] resultBytes in theUser.Properties["tokenGroups"]) { System.Security.Principal.SecurityIdentifier mySID = new System.Security.Principal.SecurityIdentifier(resultBytes, 0); DirectorySearcher sidSearcher = new DirectorySearcher(); sidSearcher.SearchRoot = DE; sidSearcher.Filter = "(objectSid=" + mySID.Value + ")"; sidSearcher.PropertiesToLoad.Add("distinguishedName"); SearchResult sidResult = sidSearcher.FindOne(); if (sidResult != null) { listOfMyWindowsGroups.Add((string)sidResult.Properties["distinguishedName"][0]); } } } else { new GUIUtility().LogMessageToFile("no user found"); } return true; } catch (Exception ex) { new GUIUtility().LogMessageToFile("Error obtaining group names: " + ex.Message + " Please contact your administrator."); // If an error occurs report it to the user. return false; }
this works too but i get the same result "Domain Users" . Please can some1 tell me how to get the local machine groups...?
I have two validationsummary controls on my page for aesthetic reasons. Each control is assigned a validation group (StudentInfo and Grades). validation controls in the upper part of my page are in validationgroup StudentInfo and those in the bottom part of my page are in validationgroup Grades.
However, I only have one "Save" button control that causes validation. I want the Save button to validate both groups of controls, but it appears to only allow one Validation group to be specified in its properties.
Is there a way to have a button cause validation for both groups?
My problem is that when i do a tryupdatemodel it validate the ParentCategory aswell, is it really suppose to do that? How could i avoid this, I tried [Bind(Excluede = "ParentCategory)] in the ActionResult but with no luck. I have looked all over the place with no luck everybody just got the Id problem.
When I use a compare validator, datatypecheck="String", and try to enter the following code to test, the comparevalidation doesn't catch it in time, and instead the browser pops up with an error saying the text is not allowed.
there I am using xval for the first time, it seems to work fine for required fields, However I am having some issues first of all it does not seem to validate booleans and also client validation is not working for me, this is not a major issue for me, the one that I really need to work is the stringlength property. It seems to do something because the form is not posted when the string length is exceeded, however no error message is displayed to the user which is obviously not what I want, has anyone been able to do this successfully?
My model goes like this
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace PitchPortal.Core { public class DocumentMetadata { //[Required] // public bool visibility { get; set; } [Required,StringLength(10, ErrorMessage = "title is too long")] public string title { get; set; } [Required, StringLength(10, ErrorMessage = "description is too long")] public string description { get; set; } [Required, StringLength(10, ErrorMessage = "summary is too long")] public string summary { get; set; }
I'm working on a very dynamic site build at the moment. What I'm trying to do is creating something like a survey that can be created dynamically from a control panel. In the control panel you add input fields (these are saved in a database), what the user then see is a form that I generate from the database. So if I add 3 input fields to the database the survey will contain 3 fields. If I add 20 fields the survey will have 20 fields.
Now my problem is that I want to validate these fields, and I would like to be able to hook me in with the standard validation flow. I can't create a Model with validation rules since the number of fields and their names are dynamic the only thing I know is what kind of data that is expected in every field (this rule is found in the database). In an ordinary case I would get the automatic highlighted fields that are not valid and so on thanks to the built in validation flow with ValidationResult and so on.
So the question now is can I somehow simulate parts of the validation and then hook me back in with the validation result, and if not valid, the form prints the error messages and fill the fields with the data that was given?