[Checkins] SVN: p01.jsonform/trunk/src/p01/jsonform/ Added CSS
Roger Ineichen
roger at projekt01.ch
Mon May 21 06:56:08 EDT 2007
Log message for revision 75856:
Added CSS
Make JQuery friends happy
Changed:
U p01.jsonform/trunk/src/p01/jsonform/browser.py
A p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css
U p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js
-=-
Modified: p01.jsonform/trunk/src/p01/jsonform/browser.py
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/browser.py 2007-05-21 10:52:38 UTC (rev 75855)
+++ p01.jsonform/trunk/src/p01/jsonform/browser.py 2007-05-21 10:56:07 UTC (rev 75856)
@@ -29,6 +29,8 @@
JSONValidatorJavaScriptViewlet = viewlet.JavaScriptViewlet(
'jsonform.validator.js')
+JSONValidatorCSSViewlet = viewlet.CSSViewlet(
+ 'jsonform.validator.css')
class JSONErrorViewSnippet(object):
Added: p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css (rev 0)
+++ p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css 2007-05-21 10:56:07 UTC (rev 75856)
@@ -0,0 +1,8 @@
+/*----[ validator helper ]---------------------------------------------------*/
+
+.validated {
+ border: 3px solid green;
+}
+.invalide {
+ border: 3px solid red;
+}
Modified: p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js 2007-05-21 10:52:38 UTC (rev 75855)
+++ p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js 2007-05-21 10:56:07 UTC (rev 75856)
@@ -5,39 +5,19 @@
* The p01/json/xmlhttp.js and p01/json/json.js are used for doing this.
*
* @author Roger Ineichen dev at projekt01.ch
- * @version Alpha, just a concept draft, I'll change this later and we probably
- * use a JQuery based concept.
+ * @version Beta 0.1.
*/
//----------------------------------------------------------------------------
/** @private */
-function addClassName(ele, clsName) {
- originalStr = ele.className;
- targetStr = " " + clsName;
- replaceStr = "";
- resultStr = originalStr.replace(new RegExp(targetStr, "g"), replaceStr);
- resultStr += " " + clsName;
- ele.className = resultStr;
-}
-
-/** @private */
-function removeClassName(ele, clsName) {
- originalStr = ele.className;
- targetStr = " " + clsName;
- replaceStr = "";
- resultStr = originalStr.replace(new RegExp(targetStr, "g"), replaceStr);
- ele.className = resultStr;
-}
-
-/** @private */
function showValidationError(response) {
var ele = document.getElementById(response.id);
if (response.result == 'OK') {
- removeClassName(ele, 'invalide');
- addClassName(ele, 'validated');
+ $(ele).removeClass('invalide');
+ $(ele).addClass('validated');
} else {
- removeClassName(ele, 'validated');
- addClassName(ele, 'invalide');
+ $(ele).addClass('invalide');
+ $(ele).removeClass('validated');
}
}
@@ -56,4 +36,22 @@
var jsonProxy = getJSONRPCProxy(url);
jsonProxy.addMethod('jsonValidate', showValidationError);
jsonProxy.jsonValidate(id, value);
-}
\ No newline at end of file
+}
+
+/**
+ * validate a input field with a JSON call.
+ * @return JQuery, uses the built in showValidationError callback.
+ */
+jQuery.fn.jqJSONValidate = function() {
+ return this.each(function(){
+ $(this).blur(function(){
+ var url = viewURL;
+ var id = $(this).attr("id");
+ var value = $(this).val();
+ var jsonProxy = getJSONRPCProxy(url);
+ jsonProxy.addMethod('jsonValidate', showValidationError);
+ jsonProxy.jsonValidate(id, value);
+ });
+
+ });
+};
More information about the Checkins
mailing list