Jquery grailsgorm:格式化的数字和日期

Jquery grailsgorm:格式化的数字和日期,jquery,grails,gorm,Jquery,Grails,Gorm,我想让我的webapps能够在表单中接收并显示格式化的数字和格式化的日期 例如: 电话号码:1000000.00 对于日期:2013年12月2日*我将使用jquery日期选择器 这方面的最佳策略是什么 我应该为每个数字和日期字段创建一个临时字段吗? 例如: class Person{ Date dateOfBirth; BigDecimal salary; ...... String dateOfBirthFormatted; String salaryFormatted; st

我想让我的webapps能够在表单中接收并显示格式化的数字和格式化的日期 例如: 电话号码:1000000.00 对于日期:2013年12月2日*我将使用jquery日期选择器

这方面的最佳策略是什么

我应该为每个数字和日期字段创建一个临时字段吗? 例如:

class Person{
 Date dateOfBirth;
 BigDecimal salary;
 ......

 String dateOfBirthFormatted;
 String salaryFormatted;

 static transients = ['salaryFormatted','dateOfBirthFormatted'];
}

或者我应该在视图中处理格式化的数字和日期字段(使用javascript并在提交表单之前进行处理)?

这个函数是否是我写的帮助,其中
sep
是日期格式的分隔符类型,如果没有输入,则没有返回

function getDate(sep) {
    if(typeof sep==='undefined')sep='';
    var date = new Date();
    return (date.getFullYear().toString()+sep+(date.getMonth()+1)+sep+date.getDate());
}

这个函数是我写的帮助,其中
sep
是日期格式中的分隔符类型,如果未输入任何分隔符,则不会返回任何分隔符

function getDate(sep) {
    if(typeof sep==='undefined')sep='';
    var date = new Date();
    return (date.getFullYear().toString()+sep+(date.getMonth()+1)+sep+date.getDate());
}

这个函数是我写的帮助,其中
sep
是日期格式中的分隔符类型,如果未输入任何分隔符,则不会返回任何分隔符

function getDate(sep) {
    if(typeof sep==='undefined')sep='';
    var date = new Date();
    return (date.getFullYear().toString()+sep+(date.getMonth()+1)+sep+date.getDate());
}

这个函数是我写的帮助,其中
sep
是日期格式中的分隔符类型,如果未输入任何分隔符,则不会返回任何分隔符

function getDate(sep) {
    if(typeof sep==='undefined')sep='';
    var date = new Date();
    return (date.getFullYear().toString()+sep+(date.getMonth()+1)+sep+date.getDate());
}
如果计划仅在视图层中格式化数据,则应分别为
salary
dateOfBirth
使用和标记

就风景而言,它看起来像

<g:formatDate format="MM/dd/yyyy" date="${dateOfBirth}"/>
<g:formatNumber number="${salary}" type="number" maxFractionDigits="2" />

其中
dateOfBirth
salary
是此视图模型的一部分。

如果计划仅获取视图层中格式化的数据,则应分别为
salary
dateOfBirth
使用和标记

就风景而言,它看起来像

<g:formatDate format="MM/dd/yyyy" date="${dateOfBirth}"/>
<g:formatNumber number="${salary}" type="number" maxFractionDigits="2" />

其中
dateOfBirth
salary
是此视图模型的一部分。

如果计划仅获取视图层中格式化的数据,则应分别为
salary
dateOfBirth
使用和标记

就风景而言,它看起来像

<g:formatDate format="MM/dd/yyyy" date="${dateOfBirth}"/>
<g:formatNumber number="${salary}" type="number" maxFractionDigits="2" />

其中
dateOfBirth
salary
是此视图模型的一部分。

如果计划仅获取视图层中格式化的数据,则应分别为
salary
dateOfBirth
使用和标记

就风景而言,它看起来像

<g:formatDate format="MM/dd/yyyy" date="${dateOfBirth}"/>
<g:formatNumber number="${salary}" type="number" maxFractionDigits="2" />

其中
dateOfBirth
salary
是此视图模型的一部分。

在Javascript中

//date
    $("#dateOfBirth").datepicker({
                changeMonth : true,
                changeYear : true,
                dateFormat : 'dd/mm/yyyy',
                yearRange : '1901:2999',

            });
//salary
    if(/^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$/.test($("#salaryFormatted").val())){
             return true;
    }
    else{
        $("#salaryFormatted").attr("oninvalid", "setCustomValidity('Please enter the salaryin proper format eg:(100.00,10,000.00)')");
            $("#salaryFormatted").prop('required', true);
            $("#salaryFormatted").val("");
            return false;
    }
在普惠制中

<input type="text" id="dateOfBirth" name="dateOfBirth"
    value="${formatDate(format:'dd/MM/yyyy', date: personInstance?.dateOfBirth)}" />


<g:textField name="salaryFormatted" id="salaryFormatted" onchange="try{setCustomValidity('')}catch(e){}" value="${String.format("%,.2f", personInstance?.salaryFormatted)}" />

使用上述代码。我认为,它将有助于Javascript

//date
    $("#dateOfBirth").datepicker({
                changeMonth : true,
                changeYear : true,
                dateFormat : 'dd/mm/yyyy',
                yearRange : '1901:2999',

            });
//salary
    if(/^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$/.test($("#salaryFormatted").val())){
             return true;
    }
    else{
        $("#salaryFormatted").attr("oninvalid", "setCustomValidity('Please enter the salaryin proper format eg:(100.00,10,000.00)')");
            $("#salaryFormatted").prop('required', true);
            $("#salaryFormatted").val("");
            return false;
    }
在普惠制中

<input type="text" id="dateOfBirth" name="dateOfBirth"
    value="${formatDate(format:'dd/MM/yyyy', date: personInstance?.dateOfBirth)}" />


<g:textField name="salaryFormatted" id="salaryFormatted" onchange="try{setCustomValidity('')}catch(e){}" value="${String.format("%,.2f", personInstance?.salaryFormatted)}" />

使用上述代码。我认为,它将有助于Javascript

//date
    $("#dateOfBirth").datepicker({
                changeMonth : true,
                changeYear : true,
                dateFormat : 'dd/mm/yyyy',
                yearRange : '1901:2999',

            });
//salary
    if(/^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$/.test($("#salaryFormatted").val())){
             return true;
    }
    else{
        $("#salaryFormatted").attr("oninvalid", "setCustomValidity('Please enter the salaryin proper format eg:(100.00,10,000.00)')");
            $("#salaryFormatted").prop('required', true);
            $("#salaryFormatted").val("");
            return false;
    }
在普惠制中

<input type="text" id="dateOfBirth" name="dateOfBirth"
    value="${formatDate(format:'dd/MM/yyyy', date: personInstance?.dateOfBirth)}" />


<g:textField name="salaryFormatted" id="salaryFormatted" onchange="try{setCustomValidity('')}catch(e){}" value="${String.format("%,.2f", personInstance?.salaryFormatted)}" />

使用上述代码。我认为,它将有助于Javascript

//date
    $("#dateOfBirth").datepicker({
                changeMonth : true,
                changeYear : true,
                dateFormat : 'dd/mm/yyyy',
                yearRange : '1901:2999',

            });
//salary
    if(/^(?!0\.00)\d{1,3}(,\d{3})*(\.\d\d)?$/.test($("#salaryFormatted").val())){
             return true;
    }
    else{
        $("#salaryFormatted").attr("oninvalid", "setCustomValidity('Please enter the salaryin proper format eg:(100.00,10,000.00)')");
            $("#salaryFormatted").prop('required', true);
            $("#salaryFormatted").val("");
            return false;
    }
在普惠制中

<input type="text" id="dateOfBirth" name="dateOfBirth"
    value="${formatDate(format:'dd/MM/yyyy', date: personInstance?.dateOfBirth)}" />


<g:textField name="salaryFormatted" id="salaryFormatted" onchange="try{setCustomValidity('')}catch(e){}" value="${String.format("%,.2f", personInstance?.salaryFormatted)}" />


使用上述代码。我想,这会有帮助的

不是这一个。我希望用户能够输入格式化的文本,而不是这个。我希望用户能够输入格式化的文本,而不是这个。我希望用户能够输入格式化的文本,而不是这个。我希望用户能够在中输入格式化文本。我认为这样做的目的是格式化显示数据的位置(例如视图),并在内部保持原始格式,而不是用方便的方法将模型弄乱。Otoh,我在我的一个域中有一个静态格式化程序,那么我知道什么?;)我认为这样做的目的是对显示的数据(例如视图)进行格式化,并在内部保持原始格式,而不是用方便的方法将模型弄乱。Otoh,我的一个域中有一个静态格式化程序,那么我知道什么呢?;)我认为这样做的目的是对显示的数据(例如视图)进行格式化,并在内部保持原始格式,而不是用方便的方法将模型弄乱。Otoh,我的一个域中有一个静态格式化程序,那么我知道什么呢?;)我认为这样做的目的是对显示的数据(例如视图)进行格式化,并在内部保持原始格式,而不是用方便的方法将模型弄乱。Otoh,我的一个域中有一个静态格式化程序,那么我知道什么呢?;)