News Comment - Email
Hi,
I want make required field for email in News comment..how to do that ?
find the attached screenshot
regards
mansoor
Hello Mansoor,
You can change the default validation of the Comments form by replacing the template for CommentsDetailView from the Sitefinity backend with the attached file. Please find the attachment, place it inside your SitefinityWebApp project and build it. Then go to the backend of the CMS Administration -> Settings -> Advanced -> Controls -> ViewMap and create a new one with the following values:
HostType: Telerik.Sitefinity.Modules.GenericContent.Web.UI.Views.CommentsDetailsView, Telerik.Sitefinity
LayoutTemplatePath: ~/CommentsRequiredEmail.ascx
In this template I modified the default validation of the email field by setting the Required option to true:
<sf:TextField ID="email" runat="server" DisplayMode ="Write" Title="Email"> <ValidatorDefinition RequiredViolationMessage="<%$Resources:ContentResources, EmailCannotBeEmpty %>" ExpectedFormat="EmailAddress" Required="true" MessageCssClass="sfError" /> </sf:TextField>If you need any additional assistance on this matter please do not hesitate to ask.
Does this still work after 6.2? I have an 8.0 project that i'm trying to override the comments widget submit form behavior and it's ignoring my control.
Hello Joe,
As you have noted in the ticket you have submitted related to this, you have managed to map your custom template for the Comments Submit Form by using the following for the HostType: Telerik.Sitefinity.Modules.Comments.Web.UI.Frontend.CommentsSubmitForm
I also provided the default template for the Comments Submit Form in the ticket for your convenience. I am pasting it here as well:
<%@ Control Language="C#" %> <%@ Register Assembly="Telerik.Sitefinity" TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" %><%@ Register Assembly="Telerik.Sitefinity" TagPrefix="sfFields" Namespace="Telerik.Sitefinity.Web.UI.Fields" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Modules.Comments.Web.UI.Frontend" TagPrefix="comments" %> <sf:ResourceLinks id="resLinks" runat="server" UseEmbeddedThemes="true" Theme="Basic"> <sf:ResourceFile Name="Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_common_min.css" Static="true" /> <sf:ResourceFile Name="Telerik.Sitefinity.Resources.Scripts.Kendo.styles.kendo_metro_min.css" Static="true" /> <sf:ResourceFile Name="Telerik.Sitefinity.Resources.Scripts.Rating.rating.css" Static="true" /> <sf:ResourceFile JavaScriptLibrary="JQuery" /> <sf:ResourceFile JavaScriptLibrary="KendoWeb" /> <sf:EmbeddedResourcePropertySetter Name="Telerik.Sitefinity.Resources.Themes.Default.Images.Loadings.sfLoadingFormBtns.gif" Static="true" ControlID="createLoadingImage" ControlPropertyName="ImageUrl" /></sf:ResourceLinks> <sf:ClientLabelManager id="clientLabelManager" runat="server"> <labels> <sf:ClientLabel ClassId="CommentsResources" Key="LeaveComment" runat="server" /> <sf:ClientLabel ClassId="CommentsResources" Key="NameWatermark" runat="server" /> <sf:ClientLabel ClassId="CommentsResources" Key="EmailWatermark" runat="server" /> <sf:ClientLabel ClassId="CommentsResources" Key="CaptchavalidationError" runat="server" /> </labels></sf:ClientLabelManager> <sf:SitefinityLabel runat="server" ID="restrictedToAuthenticated" WrapperTagName="p" style="display:none;" CssClass="sfNeutral" /> <sfFields:FormManager id="formManager" runat="server" /><div id="submitCommentForm" runat="server" class="sfcommentsFormWithAvatarWrp"> <sf:Message ID="messageControl" runat="server" ElementTag="div" CssClass="sfMessage" RemoveAfter="30000" FadeDuration="10" /> <asp:Image ID="avatarImage" runat="server" CssClass="sfcommentAuthorAvatar" /> <div class="sfcommentsFormWrp"> <div class="sfcommentsTitleWrp"> <sf:SitefinityLabel ID="leaveComment" runat="server" WrapperTagName="h2" CssClass="sfcommentsTitle" Text="<%$Resources:CommentsResources, LeaveComment%>"/> </div> <fieldset class="sfcommentsForm"> <ol class="sfcommentsFieldsList"> <li class="sfcommentsField sfcommentEditor"> <textarea id="commentEditor" runat="server"></textarea> <sf:SitefinityLabel runat="server" ID="validationMessage" WrapperTagName="p" style="display:none;" CssClass="sfError" Text="<%$Resources:CommentsResources, EmptyCommentErrorMessage %>"></sf:SitefinityLabel> </li> <li class="sfcommentsField sfcommentRating"> <div id="ratingSection" class="sfRating sfcommentsThreadRatingWrp" runat="server"></div> <sf:SitefinityLabel runat="server" ID="validationMessageRating" WrapperTagName="p" style="display:none;" CssClass="sfError" Text="<%$Resources:CommentsResources, NoRatingErrorMessage %>"></sf:SitefinityLabel> </li> <sfFields:TextField ID="nameTextField" runat="server" DisplayMode="Write" CssClass="sfcommentsField" WrapperTag="Li" TabIndex="1"> <ValidatorDefinition Required="true" RequiredViolationMessage="Name cannot be empty" MessageCssClass="sfError" /> </sfFields:TextField> <sfFields:TextField ID="emailTextField" runat="server" DisplayMode="Write" CssClass="sfcommentsField" WrapperTag="Li" TabIndex="1"> <ValidatorDefinition ExpectedFormat = "EmailAddress" MessageCssClass="sfError" /> </sfFields:TextField> <li class="sfcommentsField sfcommentCaptcha"> <comments:RestfulCaptcha runat="server" ID="restfulCaptcha" style="display:none;"/> <sf:SitefinityLabel id="captchaError" runat="server" Text="<%$Resources:CommentsResources, CaptchavalidationError%>" WrapperTagName="p" CssClass="sfError" style="display:none;" /> </li> </ol> <div class="sfcommentsSubmitBtnWrp"> <span id="loadingView" runat="server" style="display:none;"> <sf:SfImage ID="createLoadingImage" runat="server" AlternateText='Loading' /> </span> <asp:Button runat="server" ID="submitCommentButton" Text="Submit" OnClientClick="return false" CssClass="sfcommentsSubmitBtn" /> </div> </fieldset> </div></div>