MVC :: Validating Custom Types And Html.EditorFor() Templates?
Sep 2, 2010
I'm finding my self with the problem that if I do not show the Template for a "complex" object I have in the main view object I still get the errors in the summary. How do i get around this?
I've got a model with say:
->Persons (has its own editor template)
->Pets(has its own editor template)
In the create view I show each one depending if they are not null. But when I try to validate HouseType and say I have Persons not null and pets is null. I get errors of validation for pets.
How do I get around this?
View 4 Replies
Similar Messages:
Aug 15, 2010
I've been trying to something with the templating system in MVC2, but what I thought should be simple has not been successful. So now I question if it's possible or if I'm missing anything obvious. The scenario:
I have a base template as a strongly typed view that is set up in the ViewsSharedEditorTemplates folder...call it CommonItem.ascx. It wants a model item of type MyItemType.
I have a template that is a wrapper around the previous template, is also strongly typed of type MyItemType, residing in the same folder. Call this one CommonItemWrapper.ascx.The contents of CommonItemWrapper.ascx includes divs before/after a declaration Html.EditorForModel("CommonItem").
My expectation would be that the inner template (CommonItem) would be displayed within the outer template. Unfortunately the inner template never gets evaluated.
Am I missing something? Am I mistaken in thinking that templates can be nested in this manner? If so, is there another means to accomplish this?
View 1 Replies
Mar 30, 2010
If I wanted to create a custom HTML helper and take advantage of the new in-built templating feature, how would I do that? It appears the templating features are internal?
View 3 Replies
Jan 7, 2010
I have a custom html form, I created new asp.net site in the web developer 2008.
My question is, When i create a validating for this textbox and run the page, it tells me error, i tried to make the validating control id and (control to) same as name and id of my textbox but all didn't not work out?
View 2 Replies
Oct 29, 2010
I added a RequiredFieldValidator to my InsertItemTemplate, and it seems to be working fine. The problem I am having, however, is that now I cannot do anything else in the ListView (like edit or delete items) UNLESS the required field has a value. Is there some way I can manually do the validation when the user clicks the 'Insert' button on the InsertItemTemplate, or some other little trick I can perform so the user doesn't have to first type in a value just to delete something else in the list?
View 1 Replies
Apr 13, 2010
Html.EditorFor(model=>model.Name)
Html.TextBoxFor(model=>model.Name)
tell the two diff,
do the previous one belong MVC 1.0 and the latter belong MVC 2.0 ? right?
View 3 Replies
May 1, 2010
I am generating the controls for an MVC Create Form using html.editorfor().How can i add style properties to whatever is created? For instance i have a control which is generated by html.editorfor() as a single line textbox but i want it to be a multiline textbox.
View 2 Replies
Sep 10, 2010
I would like to exclude one of model's property from the Html.EditorFor. I tried [HiddenInput(DisplayValue=false)] but it renders the property as an hidden input. This could potentially be a security problem. How can we completely exclude a field from Html.EditorFor?
View 5 Replies
Mar 9, 2010
I have the following classes in my Model:
public abstract class Entity : IEntity
{
[ScaffoldColumn(false)]
[code]...
View 1 Replies
Aug 9, 2010
I have a listview set up in "flow" mode where the existing records are all on an extended page so you can scroll down to any record.
The InsertItem Template is in the first position, making it easy to insert a new record.
And one can scroll down the page to any record, click the edit button and update that record -- nice having everything on one scrollable page.
I am running into a problem with validations. I have validation controls restricting inputs for all the textboxes on the Insert Item template. They work fine. And on Item Inserted I am running a page validation:
Page.Validate()
If Not Page.IsValid Then
e.Cancel = True
End If
which works fine also.
The problem occurs when I scroll down to an existing record, and go to edit it. I have all the same validation constraints on the textboxes for the EditItemTemplate as I have on the InsertItemTemplate. But I cannot successfully do a page validation on updating the record. The code I am using on update is:
Protected Sub LVRentals_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewUpdateEventArgs) Handles LVRentals.ItemUpdating
Page.Validate()
If Not Page.IsValid Then
e.Cancel = True
End If
End Sub
This results in a Cancel even if there are no validation errors on the InsertItemTemplate because the Page.Validate() seems to be causing the InsertItemTemplate to think its fields should be filled out also.
Here is the code for a typical entry of the InsertItem Template:
[code]....
All the controls in the Edit Item template are part of ValidationGroup "edit1" and those of the InsertItem Template are part of ValidationGroup "edit2"
How can I get around receiving validation errors on the InsertItem Template when I am trying to validate just the EditItemTemplate when both are present on the page?
View 2 Replies
Mar 31, 2010
i am working on an asp.net mvc 2 web app and inside my model i would like to include a field named "" that has the values "Male" and "Female". I would like to use custom templates and Data Annotations in order to take advantage of model metadata. Specifically, i would like to create one DisplayTemplate (displaying the value) and one EditorTemplate (displaying a dropdown list) for the "Sex" type field.
View 2 Replies
Dec 4, 2010
I have a comment form inside the blog posts. in the form, if the user is authenticated, I will assign the values of the user into textboxes. that part is as follows;
[Code]....
But when I add HTML.TextBox instead of HTML.TextBoxFor, I am not getting validation if the user erase the fileds. Also, this form is inside the indext page and it is related to another action as follows;
[Code]....
so I cannot assign ModelState.AddModelError from controller.
What should I do here.
View 4 Replies
Dec 22, 2010
I m Using a GridView: Columns: "Ser_type" tells what type of data is it i.e. VC for Varchar, NU for Numeric, DT for DateTime etc, for the time being i m using datavalidation controlls at design time. this is not a good approach. I just wan to do is that, DataValidationControlls should be created at RunTime and TextBox should validate data at runtime only. i.e. if Data required in the TextBox is of Type VC then it should validate only at runtime, if DT then validate DateTime only at Runtime similarly for all dataType:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>
<div>
<div>
<asp:Panel ID="Panel1" runat="server" Height="150px" Style="left: 0px; position: relative;
top: 0px" Width="970px">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Images/Home.jpg" Style="position: relative" /></asp:Panel>
</div>
<div>
<asp:Panel ID="Panel2" runat="server" BackColor="PaleTurquoise" Height="350px" Style="left: 0px;
position: relative; top: 0px" Width="970px">
<asp:Label ID="lbl_Home" runat="server" Font-Bold="True" Font-Size="XX-Large" ForeColor="#404040"
Style="position: relative" Text="Welcome to AutoSoft Dynamics" Width="700px"></asp:Label> <br />
<table style="left: 0px; position: relative; top: 0px">
<tr>
<td colspan="2" style="height: 21px">
<asp:Label ID="lbl_messege" runat="server" Style="position: relative" Font-Bold="True" Font-Size="16pt" ForeColor="#0000C0" Width="100%"></asp:Label></td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblExpMessage" runat="server" Style="position: relative" Width="100%" Font-Bold="False" Font-Size="12pt" ForeColor="Red"></asp:Label></td>
</tr>
<tr>
<td style="width: 464px">
<asp:Button ID="Button1" runat="server" Style="position: relative" Text="Button" />
<asp:Button ID="Button2" runat="server" PostBackUrl="~/EmpDetails.aspx" Style="position: relative"
Text="Go to Details Page" /></td>
<td style="width: 162px">
</td>
</tr>
</table>
<br />
</asp:Panel>
<asp:Panel ID="Panel3" runat="server" BackImageUrl="~/Images/Footer.bmp" Height="50px"
Style="left: 0px; position: relative; top: 0px" Width="970px">
</asp:Panel>
<br />
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
BackgroundCssClass="modalBackground"
PopupControlID="Panel_Popup"
CancelControlID="btnRemindLater"
TargetControlID="Button1" >
</cc1:ModalPopupExtender>
<asp:Panel ID="Panel_Popup" runat="server" Width="540px" HorizontalAlign="Center" >
<br />
<table width="100%" style="left: 0px; position: relative; top: 0px; background-color: inactivecaptiontext">
<tr>
<td colspan="4">
<asp:Label ID="lbl_Title" runat="server" BackColor="Desktop" Font-Bold="True" ForeColor="White"
Height="28px" Style="font-weight: bold; font-size: 15pt; vertical-align: middle;
position: relative; text-align: center" Width="100%"></asp:Label></td>
</tr>
<tr>
<td style="width: 11px">
</td>
<td style="width: 583px">
<asp:GridView ID="GridView_Popup" runat="Server" AutoGenerateColumns="False" BorderColor="Navy"
BorderStyle="Solid" BorderWidth="2px" CellPadding="3" DataKeyNames="ser_no" EmptyDataText="No recored found"
Font-Bold="False" ForeColor="Black" GridLines="Horizontal" HorizontalAlign="Left"
OnRowDataBound="GridView_Popup_RowDataBound" Style="position: relative">
<EmptyDataRowStyle BorderColor="Navy" BorderWidth="2px" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lbl_ser_no" runat="server" Font-Size="1pt"
Text='<%# Bind("ser_no") %>' ForeColor="ActiveCaptionText" >
</asp:Label>
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" />
<ItemStyle HorizontalAlign="Left" Width="5px" ForeColor="ActiveCaptionText" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="lbl_description" runat="server" Font-Size="Small" Text='<%# Bind("description") %>'
Width="110px">
</asp:Label>
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" Font-Bold="True" Font-Size="Small"
ForeColor="White" HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="110px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Declared Value">
<ItemTemplate>
<asp:TextBox ID="txt_DeclaredValue" runat="server" CausesValidation="True" Font-Size="Small"
Text='<%# Eval("declared_value") %>' ToolTip='<%# Eval("ser_help") %>' Width="205px" MaxLength="50"></asp:TextBox>
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" Font-Bold="True" Font-Size="Small"
ForeColor="White" HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="205px" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lbl_Mandatory" runat="server" Font-Size=".5pt" ForeColor="inactivecaptiontext"
Text='<%# Bind("mandatory") %>' Width="15px"></asp:Label>
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" Font-Size="Small" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="15px" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lbl_ser_type" runat="server" Font-Size=".5pt" ForeColor="inactivecaptiontext"
Text='<%# Bind("ser_type") %>' Width="15px"></asp:Label>
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="15px" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:RequiredFieldValidator ID="rfv_declaredVal" runat="server" ControlToValidate="txt_DeclaredValue"
ErrorMessage="*" >
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rfv_num" runat="server"
ControlToValidate="txt_DeclaredValue" Display="Dynamic" Enabled="false" ErrorMessage="Only (0-9)"
ValidationExpression="^[0-9]*$" Font-Size="10pt" >
</asp:RegularExpressionValidator>
<asp:RegularExpressionValidator ID="rfv_NonNumeric" runat="server" ControlToValidate="txt_DeclaredValue"
Enabled="false" ErrorMessage="Only (a-z/A-Z)" ValidationExpression="^[a-zA-Z'.s]{1,40}$" Font-Size="10pt" >
</asp:RegularExpressionValidator >
<asp:CompareValidator ID="cv_txtDate" runat="server"
ControlToValidate="txt_DeclaredValue" ErrorMessage="dd/MM/yyyy only"
Operator="DataTypeCheck" Type="Date" Font-Size="10pt" >
</asp:CompareValidator>
<asp:RegularExpressionValidator ID="rev_Decimal" runat="server" ErrorMessage="Only Decimal"
ControlToValidate="txt_DeclaredValue" Style="position: relative" Font-Size="10pt"
ValidationExpression="(?!^0*$)(?!^0*.0*$)^d{1,18}(.d{1,2})?$" />
</ItemTemplate>
<HeaderStyle BackColor="GradientInactiveCaption" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Top" />
</asp:TemplateField>
</Columns>
<HeaderStyle BorderColor="Navy" BorderStyle="Solid" BorderWidth="1px" ForeColor="#0000C0"
Height="25px" HorizontalAlign="Left" VerticalAlign="Middle" />
</asp:GridView>
</td>
<td style="width: 10px">
</td>
</tr>
<tr>
<td style="width: 11px; height: 26px">
</td>
<td style="width: 583px; height: 26px">
<table style="left: 0px; width: 100%; position: relative; top: 0px">
<tr>
<td style="width: 63px; height: 26px">
<asp:Button ID="btnSubmit" runat="server" Style="left: 0px;
position: relative; top: 0px" Text="Submit" OnClick="btnSubmit_Click1" />
</td>
<td style="width: 100px; height: 26px">
<asp:Button ID="btnRemindLater" runat="server" OnClientClick="winclose()"
Style="left: 0px; position: relative" Text="Remind Me Later" UseSubmitBehavior="False"
Width="120px" />
</td>
<td style="vertical-align: middle; width: 304px; height: 26px; text-align: right">
<asp:Label ID="lbl_LastDatePopup" runat="server" Font-Bold="False" Font-Size="Small"
ForeColor="Red" Style="position: relative" Width="100%"></asp:Label></td>
</tr>
</table>
<asp:Label ID="Label1" runat="server" BackColor="InactiveCaptionText" Style="position: relative">
</asp:Label><asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="Please correct the mandatory fields labeled with * "
Height="1px" ShowMessageBox="True" ShowSummary="False" Style="position: relative" />
</td>
<td style="width: 10px; height: 26px">
</td>
</tr>
</table>
<br />
</asp:Panel>
</div>
</div>
</form>
View 4 Replies
Jun 29, 2010
I am new to sharepoint I am familiar with creating webparts and using them in sharepoint, but how to create an entire site as template and make it to use in another sites
View 2 Replies
Mar 28, 2011
I have a custom type in my model like so:
[StringLength(1000, MinimumLength = 150, ErrorMessageResourceName = "fld_Description_val_MinLength_lbl", ErrorMessageResourceType = typeof(Resources.Service.Controllers.Firm))]
[AllowHtml]
[Display(Name = "fld_Description_lbl", ResourceType = typeof(Resources.Service.Controllers.Firm))]
[code]...
View 1 Replies
Dec 7, 2010
I need a way to define a template that the control should render before each item..I currentky have the following code:
[Code]....
But Im kind of unsure about where to place the following code:
[Code]....
Since I whould like the template defined in the BeforeItemTemplate to always get added before the actual Item/<asp:MenuItem>..so I can add elements before and after each MenuItem..
View 1 Replies
Apr 5, 2010
I want to create HTML templates to send my subscribers e-mail message. I put HTML tags into a text file and changed the required format items every time I want to send an e-mail with values from my database using string.format():
[Code]....
[Code]....
I think the application will be slower as string.format() searches for more format items.
View 2 Replies
Jan 17, 2011
I have radiobuttons within a datalist. The page where they appear is within a master page. The method I had in mind of achieving the validation is with a custom validator and the following sub:
[Code]....
The problem with this code is form1 is not declared. As it is passed in from the master page.
I also have tried another method as follows:
[Code]....
With this sub:
[Code]....
I then get the error Microsoft JScript runtime error: Object expected
Here is the datalist. I need to make sure the user selects an answer for each question:
[Code]....
View 16 Replies
Jan 5, 2010
I extended gridview control to add some new features and it is working fine. However, when i come to asp.net page and add the control declaratively, the templates of the parent control that is GridView are not visible.
I declare like following and then i cannot see all templates provided by GridVeiw itself such Columns, HeaderTemplate etc .
<MyGrid:GridViewList>
</MyGrid:GridViewList>
View 4 Replies
Dec 28, 2010
Using C#, ODP.NET and ASP.NET Web Services:
ClassA is a custom class generated from a "type" in oracle database.
ClassB is a custom class generated from a "table of type ClassA" in Oracle database.
The exposed service includes a login procedure which gets a username as input parameter and returns object B. Debugging the login procedure I can see that the data is retrieved from the database but not printed in the wsdl..
[Code]....
My ClassB definition is as follows:
[XmlInclude(typeof(ClassB))]
public class ClassB : INullable, IOracleCustomType, IXmlSerializable
...
similar definition holds for ClassA as well. the generated wsdl is :
<? xml version="1.0" encoding="utf-8" ?>
<ClassB xmlns="http://tempuri/org" />
and no data printed out. What may be the problem?
View 3 Replies
Jul 16, 2010
I'll use Customer and Addresses as an example rather than explain my real objects. Say I have a repeater bound to a collection of Customers and one of the properties of Customer is an array of addresses. How do I bind to the addresses property? I don't even need to display this information I just want to use it in the Repeaters ItemDataBound event. So I tried to bind a hiddenField to the addresses property but all I get for every customer in the hiddenfields value is an empty array of addresses.
View 1 Replies
Dec 10, 2010
In my ASP.NET MVC 2 web application, I allow users to create custom input fields of different data types to extend our basic input form. While tricky, building the input form from a collection of custom fields is straight-forward enough.However, I'm now to the point where I want to handle the posting of this form and I'm not certain what the best way to handle this would be. Normally, we'd use strongly-typed input models that get bound from the various statically-typed inputs available on the form. However, I'm at a loss for how to do this with a variable number of input fields that represent different data types.A representative input form might look something like:
My date field: [ date time input
control ]
My text field: [ text input
field ]
My file field: [ file upload
control ]
My number field: [ numerical input control ]
My text field 2: [text input field ]
etc...
Ideas I've thought about are:Sending everything as strings (except for the file inputs, which would need to be handled specially).Using a model with an "object" property and attempting to bind to that (if this is even possible).Sending a json request to my controller with the data encoded properly and attempting to parse that.Manually processing the form collection in my controller post action - certainly an option, but I'd love to avoid this.Has anyone tackled an issue like this before? If so, how did you solve it?Update:My "base" form is handled on another input area all together, so a solution doesn't need to account for any sort of inheritence magic for this. I'm just interested in handling the custom fields on this interface, not my "base" ones.Update 2:Thank you to ARM and smartcaveman; both of you provided good guidance for how this could be done. I will update this question with my final solution once its been implemented.
View 3 Replies
Jun 18, 2010
I have a custom user control with some input fields and a submit button. I need to validate the fields using the jquery validation plugin when the submit button is clicked. (The function of the submit button is to create another custom control which displays the data entered in the above mentioned control)
Bt as far as I knw, validation plugin works only with form validation ryt? And my custom control does not contain a form tag as I am using master pages. The custom control is present in one of the content pages and the master page already contains a form tag with a runat=server attribute. And I guess one page can contain only a single form tag with runat=server attrib ryt?
So how do I get it to work?
View 5 Replies
Feb 17, 2011
I can't seem to find anything on how to edit the data editor settings before umbraco 6.2 (Juno). Is there any simple way, it must be possible. If you don't understand what i mean i want to do the same as [URL]
View 2 Replies
Feb 1, 2011
i am using two tables for salary components like bonus,hra,ta,da.one is salary lookup table for viewing which components are chosen and according to this salary table is created dynamically.i want to view data fields of salary table in gridview and update thier value.
now problem is that how to create template field and edit template field for updating fields of salary table because field of the salary table changing every time as it is creating dynamically.
View 3 Replies