Netsuite 已部署的SCA版本上未发生输入验证

Netsuite 已部署的SCA版本上未发生输入验证,netsuite,suitescript,suitecommerce,Netsuite,Suitescript,Suitecommerce,我有一个非常奇怪的错误,我的注册表没有验证新的输入字段性别、部署时的出生日期。但在我当地的SCA Mont Blanc上也验证了同样的代码 我已作了全面部署 我已覆盖帐户模块。我的帐户/Javascript/Account.Register.Model.js文件添加了以下验证: //@property {Object} validation. Backbone.Validation attribute used for validating the form before submit. val

我有一个非常奇怪的错误,我的注册表没有验证新的输入字段性别、部署时的出生日期。但在我当地的SCA Mont Blanc上也验证了同样的代码

我已作了全面部署

我已覆盖帐户模块。我的帐户/Javascript/Account.Register.Model.js文件添加了以下验证:

//@property {Object} validation. Backbone.Validation attribute used for validating the form before submit.
validation: {
    firstname: { required: true, msg: _('First Name is required').translate() }
,   lastname: { required: true, msg: _('Last Name is required').translate() }
,   email: { required: true, pattern: 'email', msg: _('Valid Email is required').translate() }
,   company:  { required: SC.ENVIRONMENT.siteSettings.registration.companyfieldmandatory === 'T', msg: _('Company Name is required').translate() }
,   password:  { required: true, msg: _('Please enter a valid password').translate() }
,   password2: [
        { required: true, msg: _('Confirm password is required').translate() }
    ,   { equalTo: 'password', msg: _('New Password and Confirm Password do not match').translate() }
    ]
,   gender: { required: true, msg: _('Gender is required').translate() }
,   dobday: { required: true, msg: _('Date of birth is required').translate() }
,   dobmonth: { required: true, msg: _('Date of birth is required').translate() }
,   dobyear: { required: true, msg: _('Date of birth is required').translate() }
,   phone: { required: false, pattern: 'digits', msg: _('Phone or Mobile number is required').translate() }
}
我已将输入添加到LoginRegisterOverrides@1.0.0/模板/login\u register\u register.tpl。我不会全部展示,但这里是性别输入:

<div class="login-register-register-form-controls-group" data-validation="control-group">
    <label class="login-register-register-form-label" for="register-gender">
        {{translate 'Gender <small class="login-register-register-form-required">*</small>'}}
    </label>
    <div class="login-register-register-form-controls" data-validation="control">

        <select name="gender" id="register-gender" class="login-register-register-select" data-action="selectgender" data-toggle="select-gender">
            <option value="">
                {{translate '-- Select --'}}
            </option>
            <option value="1">
                Male
            </option>
            <option value="2">
                Female
            </option>
        </select>
    </div>
</div>
我已经确认我的模块ns.package.json文件覆盖了正确的文件。另外,它可以在本地工作,所以我知道它们设置正确

为什么输入在部署时不验证,但在本地验证,这可能是什么问题

下面是我当地的SCA网站,性别和DOB输入正确验证。

以下是我的已部署/在线SCA网站:

经过几十个小时的努力,终于发现错误的原因在于我的JavaScript模块文件夹中的“s”

在ns.package.json中,我有:


哇,我在Windows上,所以文件路径在本地是有效的,但NS服务器必须是Linux。如果是的话,SCA开发人员为什么不让所有文件夹都用小写加下划线呢

您的新模型似乎没有添加到签出的javascript依赖项列表中。你检查过你的发行版了吗?@AndrésAndrade谢谢你的评论。但我还没有创建任何新模型。我已覆盖Account.Register.Model。但是我不需要在distro.json中添加/更改它,是吗?如果您在自定义模型中使用的是相同名称的.js文件,则不应该这样做。您是否尝试过清理分发文件夹gulp clean&&gulp local和browser缓存?运行本地服务器时,还要确保覆盖显示在覆盖摘要中。@AndrésAndrade感谢您的评论。很遗憾,gulp clean和gulp local无法正常工作。我是否需要将模块LoginRegisterOverrides添加到MyAccount应用程序的tasksConfig/javascript/dependencies中的distro.json?我已将该模块添加到模块区域的distro.json中。如果您只是覆盖模块中的文件,则不需要将其添加到javascript依赖项中,因为原始模块已经存在,但请确保您使用的名称与原始模型Account.Register.model中的名称相同。如果您可以上传模块的屏幕截图,package.json和distro.json将非常有用。顺便说一句,对于javascript文件,更好的做法是扩展原始文件而不是重写。
{
    "gulp": {
        "javascript": [
            "JavaScript/*"
        ],
    },
    "overrides": {
        // Problem here Should be /JavaScript/ not /Javascript/
        "suitecommerce/LoginRegister@2.1.0/Javascript/LoginRegister.Register.View.js": "Javascript/LoginRegister.Register.View.js",
    }
}