Browse Source

项目发起表单验证提示调整

huangct 8 years ago
parent
commit
1205522adb

+ 23 - 12
donate-console/src/main/webapp/resources/js/index/app.js

@@ -1280,10 +1280,15 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
         });
 
         // 保存基础信息
-        $scope.saveBaseInfo = function(project) {
-            if (project.startTime == project.endTime) {
-               toaster.pop('info', '项目开始时间与结束时间不能相同,请修改之后再保存');
-            } else {
+        $scope.saveBaseInfo = function(project, invalid) {
+            if (invalid) {
+                $scope.submited = true;
+                BaseService.scrollBackToTop();
+                return;
+            }
+            // if (project.startTime == project.endTime) {
+            //    toaster.pop('info', '项目开始时间与结束时间不能相同,请修改之后再保存');
+            // } else {
                 Project.saveBaseInfo({}, project, function(data) {
                     $scope.project = data;
                     var proId = $scope.project.id;
@@ -1294,7 +1299,7 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
                 },function(res) {
                     toaster.pop('error', '出现错误,操作失败');
                 });
-            }
+            // }
         };
 
         // 删除
@@ -1424,7 +1429,13 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
         };
 
         //提交 或 保存
-        $scope.saveDetail = function (project, type) {
+        $scope.saveDetail = function (project, type, invalid) {
+            if (type && invalid) {
+                $scope.submited = true;
+                BaseService.scrollBackToTop();
+                return;
+            }
+
             var data = new FormData();      //以下为像后台提交图片数据
             data.append('pcImg', $scope.pcImg);
             data.append('mobileImg', $scope.mobileImg);
@@ -2436,11 +2447,11 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
                 BaseService.scrollBackToTop();
                 return;
             }
-            if ($scope.activity.startTime === $scope.activity.endTime) {
-                toaster.pop('info', '开始时间与结束时间不能相同,请修改之后再保存');
-            } else if ($scope.activity.receiveStartTime === $scope.activity.receiveEndTime) {
-                toaster.pop('info', '兑奖开始时间与结束时间不能相同,请修改之后再保存');
-            } else {
+            // if ($scope.activity.startTime === $scope.activity.endTime) {
+            //     toaster.pop('info', '开始时间与结束时间不能相同,请修改之后再保存');
+            // } else if ($scope.activity.receiveStartTime === $scope.activity.receiveEndTime) {
+            //     toaster.pop('info', '兑奖开始时间与结束时间不能相同,请修改之后再保存');
+            // } else {
                 $scope.loading = true;
                 var projectList = [];
                 angular.forEach($scope.selectedProjects, function (project) {
@@ -2488,7 +2499,7 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
                     $scope.loadingShow = false;
                     toaster.pop('error', '出现错误,操作失败');
                 });
-            }
+            // }
         }
 
     }]);

+ 4 - 2
donate-console/src/main/webapp/resources/view/activity/activity_launch.html

@@ -650,6 +650,7 @@
 
                             <span class="error" ng-show="submited && activity.startTime == null">*请选择活动开始时间</span>
                             <span class="error" ng-show="submited && activity.endTime == null">*请选择活动结束时间</span>
+                            <span class="error" ng-show="submited && activity.startTime != null && activity.endTime != null && activity.startTime.getTime() == activity.endTime.getTime()">*活动开始时间与结束时间不能相同</span>
                         </div>
                     </div>
                     <div class="form-group clearfix">
@@ -673,6 +674,7 @@
 
                             <span class="error" ng-show="submited && activity.receiveStartTime == null">*请选择开始兑奖时间</span>
                             <span class="error" ng-show="submited && activity.receiveEndTime == null">*请选择截止兑奖时间</span>
+                            <span class="error" ng-show="submited && activity.receiveStartTime != null && activity.receiveEndTime != null && activity.receiveStartTime.getTime() == activity.receiveEndTime.getTime()">*兑奖开始时间与截止时间不能相同</span>
                         </div>
                     </div>
                     <div class="form-group clearfix">
@@ -698,7 +700,7 @@
                             </div>
                         </div>
 
-                        <span class="error" ng-show="submited && actImgUrl == null">*请上传封面图片</span>
+                        <span class="error" ng-show="submited && actImgUrl == null && activity.actImg == null">*请上传封面图片</span>
                     </div>
                     <div class="form-group clearfix">
                         <label class="control-label fl">Banner</label>
@@ -714,7 +716,7 @@
                             </div>
                         </div>
 
-                        <span class="error" ng-show="submited && bannerUrl == null">*请上传Banner</span>
+                        <span class="error" ng-show="submited && bannerUrl == null && activity.banner == null">*请上传Banner</span>
                     </div>
                     <div class="form-group clearfix">
                         <label class="control-label fl">活动奖品</label>

+ 27 - 10
donate-console/src/main/webapp/resources/view/project/project_launch_1.html

@@ -824,8 +824,11 @@
                             <form action="" class="form" name="baseInfoForm">
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">项目名称</label>
-                                    <input type="text" ng-model="project.name" class="form-control fl" ng-maxlength="9" required>
+                                    <input type="text" ng-model="project.name" class="form-control fl" name="projectName" ng-maxlength="9" required>
                                     <span class="fl help-txt">(不超过9个字)</span>
+
+                                    <span class="error" ng-show="submited && baseInfoForm.projectName.$error.required">*项目名称不能为空</span>
+                                    <span class="error" ng-show="submited && baseInfoForm.projectName.$error.maxlength">*项目名称不超过9个字</span>
                                 </div>
                                 <div class="form-group clearfix">
                                     <label class="control-label fl">项目时间</label>
@@ -845,6 +848,10 @@
                                                current-text="今天" clear-text="清除" close-text="关闭"
                                                datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
                                                ng-click="openDatePicker($event, project, '$endTimeOpened')">
+
+                                        <span class="error" ng-show="submited && project.startTime == null">*请选择活动开始时间</span>
+                                        <span class="error" ng-show="submited && project.endTime == null">*请选择活动结束时间</span>
+                                        <span class="error" ng-show="submited && project.startTime != null && project.endTime != null && project.startTime.getTime() == project.endTime.getTime()">*项目开始时间与结束时间不能相同</span>
                                     </div>
                                 </div>
                                 <div class="form-group clearfix">
@@ -873,32 +880,39 @@
                                 <div class="form-group form-groups clearfix">
                                     <label for="" class="fl">常驻地址</label>
                                     <div class="fl">
-                                        <select class="area-select" ng-model="project.province"
+                                        <select class="area-select" name="projectProvince" ng-model="project.province"
                                                 ng-options="key as key for (key,value) in provinces"
                                                 ng-change="project.city='';" required>
                                             <option value="">省</option>
                                         </select>
                                     </div>
                                     <div class="fl" style="margin: 0 20px;">
-                                        <select class="area-select fl" ng-model="project.city"
+                                        <select class="area-select fl" name="projectCity" ng-model="project.city"
                                                 ng-options="key as key for (key,value) in provinces[project.province]"
                                                 required>
                                             <option value="">市</option>
                                         </select>
                                     </div>
                                     <div class="fl">
-                                        <select class="area-select" ng-model="project.district"
+                                        <select class="area-select" name="projectDistrict" ng-model="project.district"
                                                 ng-options="value as value for value in provinces[project.province][project.city]"
                                                 required>
                                             <option value="">区</option>
                                         </select>
                                     </div>
+
+                                    <span class="error" ng-show="submited && baseInfoForm.projectProvince.$error.required">*请选择省份</span>
+                                    <span class="error" ng-show="submited && !baseInfoForm.projectProvince.$error.required && baseInfoForm.projectCity.$error.required">*请选择城市</span>
+                                    <span class="error" ng-show="submited && !baseInfoForm.projectCity.$error.required && baseInfoForm.projectDistrict.$error.required">*请选择城区</span>
                                 </div>
 
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">筹款目标</label>
-                                    <input type="text" ng-model="project.target" class="form-control fl" ng-pattern="/^[1-9]\d{0,8}$/" required>
+                                    <input type="text" ng-model="project.target" class="form-control fl" name="projectTarget" ng-pattern="/^[1-9]\d{0,8}$/" required>
                                     <span class="fl help-txt">(请输入整数金额,例如:5000)</span>
+
+                                    <span class="error" ng-show="submited && baseInfoForm.projectTarget.$error.required">*筹款目标金额不能为空</span>
+                                    <span class="error" ng-show="submited && baseInfoForm.projectTarget.$error.pattern">*输入金额有误</span>
                                 </div>
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">资助人群</label>
@@ -911,10 +925,11 @@
                                 </div>
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">发起缘由</label>
-                                    <textarea style="max-height: 200px; max-width: 600px;" ng-model="project.reason" ng-maxlength="54" name="" id="" cols="30" rows="10" class="fl" required></textarea>
-                                    <span class="txt">
-                                    提示文字:请您填写真实的身份信息,与受助对象的关系,以及该项目的简要介绍,54字以内。
-                                </span>
+                                    <textarea style="max-height: 200px; max-width: 600px;" ng-model="project.reason" ng-maxlength="54" name="projectReason" id="" cols="30" rows="10" class="fl" required></textarea>
+                                    <span class="txt">提示文字:请您填写真实的身份信息,与受助对象的关系,以及该项目的简要介绍,54字以内。</span>
+
+                                    <span class="error" ng-show="submited && baseInfoForm.projectReason.$error.required">*发起缘由不能为空</span>
+                                    <span class="error" ng-show="submited && baseInfoForm.projectReason.$error.maxlength">*发起缘由字数过长</span>
                                 </div>
                                 <!--<div class="form-group clearfix">-->
                                 <!--<label for="" class="fl">验证码</label>-->
@@ -928,9 +943,11 @@
                                     <div class="agree">
                                         <span>我已阅读并同意《<a href="http://lj.ubtob.com/userAgreement" target="_blank">优软一元捐用户协议</a>》</span>
                                     </div>
+
+                                    <span class="error" ng-show="submited && !checked">*请阅读并同意优软一元捐用户协议</span>
                                 </div>
                                 <div class="text-left">
-                                    <button type="button" ng-disabled="baseInfoForm.$invalid || !checked || !project.area || !project.population" ng-click="saveBaseInfo(project)" class="btn">保存,下一步</button>
+                                    <button type="button" ng-click="saveBaseInfo(project, baseInfoForm.$invalid || !checked || !project.area || !project.population)" class="btn">保存,下一步</button>
                                 </div>
                             </form>
                         </div>

+ 32 - 8
donate-console/src/main/webapp/resources/view/project/project_launch_2.html

@@ -588,6 +588,8 @@
                                                 <a ng-click="showImg('pcImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
                                             </span>
                                         </div>
+
+                                        <span class="error" ng-show="submited && pcImgUrl == null && project.pcImg == null">*请上传PC端主图</span>
                                     </div>
                                     <div class="computer">
                                         <span>手机端主图</span>
@@ -601,6 +603,8 @@
                                                 <a ng-click="showImg('mobileImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
                                             </span>
                                         </div>
+
+                                        <span class="error" ng-show="submited && mobileImgUrl == null && project.mobileImg == null">*请上传手机端主图</span>
                                     </div>
                                 </div>
                             </div>
@@ -618,6 +622,8 @@
                                                 <a ng-click="showImg('mobileListImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
                                             </span>
                                         </div>
+
+                                        <span class="error" ng-show="submited && mobileListImgUrl == null && project.mobileListImg == null">*请上传手机列表图</span>
                                     </div>
                                 </div>
                             </div>
@@ -627,7 +633,10 @@
                                     <span class="intro"></span>
                                     <div class="item clearfix">
                                         <span class="fl">姓名</span>
-                                        <input type="text" class="form-control fl" ng-maxlength="20" ng-model="project.personName" placeholder="不超过二十个字" required>
+                                        <input type="text" class="form-control fl" name="projectPersonName" ng-maxlength="20" ng-model="project.personName" placeholder="不超过二十个字" required>
+
+                                        <span class="error" ng-show="submited && detailForm.projectPersonName.$error.required">*姓名不能为空</span>
+                                        <span class="error" ng-show="submited && detailForm.projectPersonName.$error.maxlength">*姓名字数过长</span>
                                     </div>
                                     <div class="item items clearfix">
                                         <span class="fl">头像</span>
@@ -642,26 +651,40 @@
                                                     <a ng-click="showImg('logo')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
                                                 </span>
                                             </div>
+
+                                            <span class="error" ng-show="submited && logoUrl == null && project.logo == null">*请上传手机列表图</span>
                                         </div>
                                     </div>
                                     <div class="item clearfix">
                                         <span class="fl">工作单位</span>
-                                        <input type="text" class="form-control fl" ng-model="project.workunit" ng-maxlength="20" placeholder="不超过二十个字" required/>
+                                        <input type="text" class="form-control fl" name="projectWorkunit" ng-model="project.workunit" ng-maxlength="20" placeholder="不超过二十个字" required/>
+
+                                        <span class="error" ng-show="submited && detailForm.projectWorkunit.$error.required">*工作单位不能为空</span>
+                                        <span class="error" ng-show="submited && detailForm.projectWorkunit.$error.maxlength">*工作单位字数过长</span>
                                     </div>
                                     <div class="item clearfix">
                                         <span class="fl">联系电话</span>
-                                        <input type="text" class="form-control fl" ng-model="project.personTel" ng-maxlength="20" placeholder="填写联系电话" required/>
+                                        <input type="text" class="form-control fl" name="projectPersonTel" ng-model="project.personTel" ng-maxlength="20" placeholder="填写联系电话" required/>
+
+                                        <span class="error" ng-show="submited && detailForm.projectPersonTel.$error.required">*联系电话不能为空</span>
+                                        <span class="error" ng-show="submited && detailForm.projectPersonTel.$error.maxlength">*联系电话过长</span>
                                     </div>
                                     <div class="item clearfix">
                                         <span class="fl">个人简介</span>
-                                        <textarea name="" id="" cols="30" rows="10" ng-model="project.summary" ng-maxlength="60" placeholder="不超过六十个字" required></textarea>
+                                        <textarea name="projectSummary" id="" cols="30" rows="10" ng-model="project.summary" ng-maxlength="60" placeholder="不超过六十个字" required></textarea>
+
+                                        <span class="error" ng-show="submited && detailForm.projectSummary.$error.required">*个人简介不能为空</span>
+                                        <span class="error" ng-show="submited && detailForm.projectSummary.$error.maxlength">*个人简介过长</span>
                                     </div>
                                 </div>
                             </div>
                             <div class="list-item clearfix">
                                 <span class="fl">项目简介</span>
                                 <div class="fl simple">
-                                    <textarea name="" cols="30" rows="10" ng-model="project.proSummary" ng-maxlength="27" placeholder="目的简单介绍,不超过27个字" required></textarea>
+                                    <textarea name="projectProSummary" cols="30" rows="10" ng-model="project.proSummary" ng-maxlength="27" placeholder="目的简单介绍,不超过27个字" required></textarea>
+
+                                    <span class="error" ng-show="submited && detailForm.projectProSummary.$error.required">*项目简介不能为空</span>
+                                    <span class="error" ng-show="submited && detailForm.projectProSummary.$error.maxlength">*项目简介过长</span>
                                     <br/>
                                 </div>
                             </div>
@@ -671,13 +694,14 @@
                                     <summernote lang="zh-CN" ng-model="project.introduction" height="300px">
                                         请填写介绍
                                     </summernote>
+
+                                    <span class="error" ng-show="submited && project.introduction == null">*请填写项目介绍</span>
                                 </div>
                                 <div class="fl submitButton">
                                     <div class="sub">
-                                        <button type="button" ng-disabled="detailForm.$invalid || !project.introduction ||
+                                        <button type="button" ng-click="saveDetail(project, true, detailForm.$invalid || !project.introduction ||
                                         (!pcImgUrl && !project.pcImg) || (!mobileImgUrl && !project.mobileImg) ||
-                                        (!mobileListImgUrl && !project.mobileListImg) || (!logoUrl && !project.logo)"
-                                                ng-click="saveDetail(project, true)">提交</button>
+                                        (!mobileListImgUrl && !project.mobileListImg) || (!logoUrl && !project.logo))">提交</button>
                                         <button type="button" ng-click="saveDetail(project, false)">保存草稿</button>
                                     </div>
                                     <a ui-sref="launchProject1">返回上一页</a>