You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ad...@apache.org on 2020/05/31 13:51:28 UTC
[roller] branch roller-6.0.x updated (b610398 -> 46abbd7)
This is an automated email from the ASF dual-hosted git repository.
adityasharma pushed a change to branch roller-6.0.x
in repository https://gitbox.apache.org/repos/asf/roller.git.
from b610398 Removed notice for build time dependencies downloaded via Maven Refer https://markmail.org/message/o4fagzrjhbuqt2ce
new bd164d6 Implemented: validation using the jquery validation plugin (ROL-2156) Used validation on the Create weblog page
new 46abbd7 Implemented: logic to apply email validations (ROL-2156) Added method to apply regular expression and added rules to validate email Added error message with internationalised text instead of hard coded text Removed existing custom code to validate inputs
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
app/pom.xml | 5 ++++
.../main/resources/ApplicationResources.properties | 9 +++---
.../main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp | 33 ++++------------------
app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp | 2 ++
app/src/main/webapp/theme/scripts/roller.js | 22 +++++++++++++++
5 files changed, 40 insertions(+), 31 deletions(-)
[roller] 02/02: Implemented: logic to apply email validations
(ROL-2156) Added method to apply regular expression and added rules to
validate email Added error message with internationalised text instead of
hard coded text Removed existing custom code to validate inputs
Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
adityasharma pushed a commit to branch roller-6.0.x
in repository https://gitbox.apache.org/repos/asf/roller.git
commit 46abbd7f52e839cbb2ae8d2fc8e28598e7f8e585
Author: Aditya Sharma <ia...@gmail.com>
AuthorDate: Sun May 31 18:08:42 2020 +0530
Implemented: logic to apply email validations (ROL-2156)
Added method to apply regular expression and added rules to validate email
Added error message with internationalised text instead of hard coded text
Removed existing custom code to validate inputs
---
.../main/resources/ApplicationResources.properties | 9 +++---
.../main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp | 33 ++++------------------
app/src/main/webapp/theme/scripts/roller.js | 19 +++++++++++++
3 files changed, 29 insertions(+), 32 deletions(-)
diff --git a/app/src/main/resources/ApplicationResources.properties b/app/src/main/resources/ApplicationResources.properties
index 2673f6e..0c315a0 100644
--- a/app/src/main/resources/ApplicationResources.properties
+++ b/app/src/main/resources/ApplicationResources.properties
@@ -418,6 +418,7 @@ CreateWeblog.error.descriptionSize=Description cannot be more than 255 character
CreateWeblog.error.emailAddressNull=Email address is a required field
CreateWeblog.error.emailAddressSize=Email address cannot be more than 255 characters
CreateWeblog.error.emailAddressBad=The email address you entered is not properly formatted
+CreateWeblog.error.emailAddressInvalid=Please enter a valid email address
CreateWeblog.error.localeNull=Locale is a required field
CreateWeblog.error.localeSize=Locale cannot be more than 8 characters
CreateWeblog.error.timeZoneNull=Time Zone is a required field
@@ -442,7 +443,7 @@ email.comment.title=Comment
email.comment.moderate.title=Pending Blog Comment
email.comment.commentApproved=Comment Approved
-#---------------------------------------------------------------- Error messages
+#---------------------------------------------------------------- Error messages
error.untranslated={0}
@@ -537,7 +538,7 @@ can have multiple weblogs and each Roller weblog can have multiple \
authors.
index.createWeblogBy=Create your first weblog via the
index.createWeblogPage=New Weblog Creation Page
-
+
index.setFrontpage=Designate a frontpage weblog
index.setFrontpageHelp=\
You must specify a weblog to serve as the front page weblog, you can do this \
@@ -1619,7 +1620,7 @@ Entry.error.categoryNull=Category is required field
Entry.error.textNull=Content is a required field
-# -------------------------------------------------------- Weblog entries Pager
+# -------------------------------------------------------- Weblog entries Pager
weblogEntriesPager.latest.home=Main
weblogEntriesPager.latest.next=Next page
@@ -1646,7 +1647,7 @@ weblogEntriesPager.month.nextCollection=Next month ({0})
weblogEntriesPager.month.prevCollection=Previous month ({0})
weblogEntriesPager.month.dateFormat=MMM yyyy
-# ---------------------------------------------------------- Weblog Entry Remove
+# ---------------------------------------------------------- Weblog Entry Remove
weblogEntryRemove.removeWeblogEntry=Delete Weblog Entry
weblogEntryRemove.areYouSure=Are you sure you want to delete this Weblog Entry?
diff --git a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
index 0f8762e..48c4f08 100644
--- a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
@@ -26,13 +26,13 @@
<s:hidden name="salt"/>
<s:textfield label="%{getText('generic.name')}"
- tooltip="%{getText('createWebsite.tip.name')}" onkeyup="formChanged()"
- name="bean.name" size="30" maxlength="30" requiredLabel="Name is a required field" required="required"/>
+ tooltip="%{getText('createWebsite.tip.name')}"
+ name="bean.name" size="30" maxlength="30" data-msg-required="%{getText('CreateWeblog.error.nameNull')}" required="required"/>
<s:textfield label="%{getText('createWebsite.handle')}"
tooltip="%{getText('createWebsite.tip.handle')}"
name="bean.handle" size="30" maxlength="30"
- onkeyup="handlePreview(this)" requiredLabel="Handle is a required field" required="required"/>
+ onkeyup="handlePreview(this)" data-msg-required="%{getText('CreateWeblog.error.handleNull')}" required="required"/>
<div class="form-group">
<label class="col-sm-3"></label>
@@ -47,8 +47,8 @@
</div>
</div>
- <s:textfield label="%{getText('createWebsite.emailAddress')}"
- tooltip="%{getText('createWebsite.tip.email')}" onkeyup="formChanged()"
+ <s:textfield label="%{getText('createWebsite.emailAddress')}" cssClass="validate-email" data-msg="%{getText('CreateWeblog.error.emailAddressInvalid')}"
+ tooltip="%{getText('createWebsite.tip.email')}" data-msg-required="%{getText('CreateWeblog.error.emailAddressNull')}" required="required"
name="bean.emailAddress" size="40" maxlength="50"/>
<s:select label="%{getText('createWebsite.locale')}"
@@ -99,29 +99,8 @@
previewImage('<s:property value="bean.theme"/>');
</s:else>
- // TODO Remove custom validation code
- // formChanged()
});
- function formChanged() {
- // TODO Remove custom validation code
- /*var valid = false;
-
- var name = $("#createWeblog_bean_name:first").val();
- var handle = $("#createWeblog_bean_handle:first").val();
- var email = $("#createWeblog_bean_emailAddress:first").val();
-
- valid = !!(name && name.trim().length > 0
- && handle && handle.trim().length > 0
- && email && email.trim().length > 0 && validateEmail(email));
-
- if ( valid ) {
- saveButton.attr("disabled", false);
- } else {
- saveButton.attr("disabled", true);
- }*/
- }
-
function handlePreview(handle) {
previewSpan = document.getElementById("handlePreview");
var n1 = previewSpan.childNodes[0];
@@ -140,8 +119,6 @@
$('#themeThumbnail').attr('src','<s:property value="siteURL" />' + data.previewPath);
}
});
- formChanged();
}
</script>
-
diff --git a/app/src/main/webapp/theme/scripts/roller.js b/app/src/main/webapp/theme/scripts/roller.js
index a85adcf..298a799 100644
--- a/app/src/main/webapp/theme/scripts/roller.js
+++ b/app/src/main/webapp/theme/scripts/roller.js
@@ -212,4 +212,23 @@ function validateEmail(email) {
}
$(document).ready(function () {
jQuery("form.validate-form").validate();
+ // Added method to check valid email address and add a custom error message
+ jQuery.validator.addMethod(
+ "regex",
+ function(value, element, regexp) {
+ if (regexp && regexp.constructor != RegExp) {
+ regexp = new RegExp(regexp);
+ } else if (regexp.global) {
+ regexp.lastIndex = 0;
+ }
+ return this.optional(element) || regexp.test(value);
+ }
+ );
+ // Applied email rules to field with class name validate-email
+ jQuery( ".validate-email" ).rules( "add", {
+ minlength: 3,
+ maxlength: 255,
+ email: true,
+ regex: /^\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i
+ });
});
[roller] 01/02: Implemented: validation using the jquery validation
plugin (ROL-2156) Used validation on the Create weblog page
Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
adityasharma pushed a commit to branch roller-6.0.x
in repository https://gitbox.apache.org/repos/asf/roller.git
commit bd164d6df9679a7f546b4bf8bd8da5cc2cf1fbfb
Author: Aditya Sharma <ia...@gmail.com>
AuthorDate: Mon May 11 19:45:14 2020 +0530
Implemented: validation using the jquery validation plugin (ROL-2156)
Used validation on the Create weblog page
---
app/pom.xml | 5 +++++
app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp | 14 ++++++++------
app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp | 2 ++
app/src/main/webapp/theme/scripts/roller.js | 3 +++
4 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/app/pom.xml b/app/pom.xml
index 5cfc229..64a2a45 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -260,6 +260,11 @@ limitations under the License.
</dependency>
<dependency>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery-validation</artifactId>
+ <version>1.19.0</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<scope>compile</scope>
diff --git a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
index ebc9d34..0f8762e 100644
--- a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
@@ -21,18 +21,18 @@
<br/>
-<s:form action="createWeblog!save" theme="bootstrap" cssClass="form-horizontal">
+<s:form action="createWeblog!save" theme="bootstrap" cssClass="form-horizontal validate-form">
<s:hidden name="salt"/>
<s:textfield label="%{getText('generic.name')}"
tooltip="%{getText('createWebsite.tip.name')}" onkeyup="formChanged()"
- name="bean.name" size="30" maxlength="30"/>
+ name="bean.name" size="30" maxlength="30" requiredLabel="Name is a required field" required="required"/>
<s:textfield label="%{getText('createWebsite.handle')}"
tooltip="%{getText('createWebsite.tip.handle')}"
name="bean.handle" size="30" maxlength="30"
- onkeyup="handlePreview(this)"/>
+ onkeyup="handlePreview(this)" requiredLabel="Handle is a required field" required="required"/>
<div class="form-group">
<label class="col-sm-3"></label>
@@ -99,11 +99,13 @@
previewImage('<s:property value="bean.theme"/>');
</s:else>
- formChanged()
+ // TODO Remove custom validation code
+ // formChanged()
});
function formChanged() {
- var valid = false;
+ // TODO Remove custom validation code
+ /*var valid = false;
var name = $("#createWeblog_bean_name:first").val();
var handle = $("#createWeblog_bean_handle:first").val();
@@ -117,7 +119,7 @@
saveButton.attr("disabled", false);
} else {
saveButton.attr("disabled", true);
- }
+ }*/
}
function handlePreview(handle) {
diff --git a/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp b/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
index 8d10e2d..8a31d67 100644
--- a/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
@@ -10,6 +10,8 @@ You can override it with your own file via WEB-INF/tiles-def.xml
<script src="<s:url value='/webjars/jquery-ui/1.12.1/jquery-ui.min.js' />"></script>
<link href="<s:url value='/webjars/jquery-ui/1.12.1/jquery-ui.css' />" rel="stylesheet" />
+<script src="<s:url value='/webjars/jquery-validation/1.19.0/jquery.validate.min.js' />"></script>
+
<link href="<s:url value='/webjars/bootstrap/3.3.7/css/bootstrap.min.css' />" rel="stylesheet" />
<link href="<s:url value='/webjars/bootstrap/3.3.7/css/bootstrap-theme.min.css' />" rel="stylesheet" />
<script src="<s:url value='/webjars/bootstrap/3.3.7/js/bootstrap.min.js' />"></script>
diff --git a/app/src/main/webapp/theme/scripts/roller.js b/app/src/main/webapp/theme/scripts/roller.js
index 1ec4976..a85adcf 100644
--- a/app/src/main/webapp/theme/scripts/roller.js
+++ b/app/src/main/webapp/theme/scripts/roller.js
@@ -210,3 +210,6 @@ function validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
+$(document).ready(function () {
+ jQuery("form.validate-form").validate();
+});