From 2655bb88952afa2c7bde61fa61aa0912e13231b3 Mon Sep 17 00:00:00 2001 From: pushuo <229102104@qq.com> Date: Wed, 17 Aug 2022 17:48:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A1=A8=E5=8D=95=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 3 + .../View/Components/Form/InputLocale.php | 6 +- public/build/beike/admin/css/bootstrap.css | 5 ++ public/build/beike/admin/js/app.js | 27 ++++++++ .../beike/shop/default/css/bootstrap.css | 5 ++ public/build/beike/shop/default/js/app.js | 27 ++++++++ .../beike/admin/css/bootstrap/bootstrap.scss | 5 ++ resources/beike/admin/js/app.js | 1 + .../beike/admin/js/bootstrap-validation.js | 20 ++++++ .../components/form/input-locale.blade.php | 5 +- .../views/components/form/input.blade.php | 14 ++-- .../admin/views/pages/pages/form.blade.php | 5 +- .../admin/views/pages/plugins/form.blade.php | 2 +- .../views/pages/products/form/form.blade.php | 4 +- .../shop/default/css/bootstrap/bootstrap.scss | 5 ++ resources/beike/shop/default/js/app.js | 1 + .../shop/default/js/bootstrap-validation.js | 20 ++++++ resources/lang/en/common.php | 2 +- resources/lang/zh_cn/common.php | 15 ++++ themes/default/account/edit.blade.php | 68 ++++++++++--------- 20 files changed, 195 insertions(+), 45 deletions(-) create mode 100644 resources/beike/admin/js/bootstrap-validation.js create mode 100644 resources/beike/shop/default/js/bootstrap-validation.js create mode 100644 resources/lang/zh_cn/common.php diff --git a/.editorconfig b/.editorconfig index 1671c9b9..f04e215a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,6 +11,9 @@ trim_trailing_whitespace = true [*.md] trim_trailing_whitespace = false +[*.{js,scss}] +indent_size = 2 + [*.{yml,yaml}] indent_size = 2 diff --git a/beike/Admin/View/Components/Form/InputLocale.php b/beike/Admin/View/Components/Form/InputLocale.php index 4a553c24..930bd788 100644 --- a/beike/Admin/View/Components/Form/InputLocale.php +++ b/beike/Admin/View/Components/Form/InputLocale.php @@ -11,13 +11,15 @@ class InputLocale extends Component public string $title; public string $width; public $value; + public bool $required; - public function __construct(string $name, string $title, $value, ?string $width = '400') + public function __construct(string $name, string $title, $value, ?string $width = '400', ?bool $required = false) { $this->name = $name; $this->title = $title; - $this->value = $value; $this->width = $width; + $this->value = $value; + $this->required = $required; } public function render() diff --git a/public/build/beike/admin/css/bootstrap.css b/public/build/beike/admin/css/bootstrap.css index 1209a1a8..96ae70a4 100644 --- a/public/build/beike/admin/css/bootstrap.css +++ b/public/build/beike/admin/css/bootstrap.css @@ -17012,3 +17012,8 @@ textarea.form-control-lg { .btn-link:focus { box-shadow: none; } + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #e2e2e2; + background-image: none; +} diff --git a/public/build/beike/admin/js/app.js b/public/build/beike/admin/js/app.js index 8bd0eacf..10eea3b3 100644 --- a/public/build/beike/admin/js/app.js +++ b/public/build/beike/admin/js/app.js @@ -2066,6 +2066,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common */ "./resources/beike/admin/js/common.js"); /* harmony import */ var _autocomplete__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./autocomplete */ "./resources/beike/admin/js/autocomplete.js"); /* harmony import */ var _autocomplete__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_autocomplete__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _bootstrap_validation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bootstrap-validation */ "./resources/beike/admin/js/bootstrap-validation.js"); +/* harmony import */ var _bootstrap_validation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_bootstrap_validation__WEBPACK_IMPORTED_MODULE_3__); var _document$querySelect; @@ -2073,6 +2075,7 @@ window.$http = _js_http__WEBPACK_IMPORTED_MODULE_0__["default"]; window.bk = _common__WEBPACK_IMPORTED_MODULE_1__["default"]; + var base = document.querySelector('base').href; var asset = document.querySelector('meta[name="asset"]').content; var editor_language = ((_document$querySelect = document.querySelector('meta[name="editor_language"]')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.content) || 'zh_cn'; @@ -2297,6 +2300,30 @@ $(function () { /***/ }), +/***/ "./resources/beike/admin/js/bootstrap-validation.js": +/*!**********************************************************!*\ + !*** ./resources/beike/admin/js/bootstrap-validation.js ***! + \**********************************************************/ +/***/ (() => { + +// Example starter JavaScript for disabling form submissions if there are invalid fields +$(function () { + var forms = document.querySelectorAll(".needs-validation"); // Loop over them and prevent submission + + Array.prototype.slice.call(forms).forEach(function (form) { + form.addEventListener("submit", function (event) { + if (!form.checkValidity()) { + event.preventDefault(); + event.stopPropagation(); + } + + form.classList.add("was-validated"); + }, false); + }); +}); + +/***/ }), + /***/ "./resources/beike/admin/js/common.js": /*!********************************************!*\ !*** ./resources/beike/admin/js/common.js ***! diff --git a/public/build/beike/shop/default/css/bootstrap.css b/public/build/beike/shop/default/css/bootstrap.css index 7b20997f..98ea70be 100644 --- a/public/build/beike/shop/default/css/bootstrap.css +++ b/public/build/beike/shop/default/css/bootstrap.css @@ -17042,3 +17042,8 @@ textarea.form-control-lg { .breadcrumb a { color: #212529; } + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #ced4da; + background-image: none; +} diff --git a/public/build/beike/shop/default/js/app.js b/public/build/beike/shop/default/js/app.js index aeb04d1d..f7e59dd6 100644 --- a/public/build/beike/shop/default/js/app.js +++ b/public/build/beike/shop/default/js/app.js @@ -2052,6 +2052,30 @@ module.exports = { }; +/***/ }), + +/***/ "./resources/beike/shop/default/js/bootstrap-validation.js": +/*!*****************************************************************!*\ + !*** ./resources/beike/shop/default/js/bootstrap-validation.js ***! + \*****************************************************************/ +/***/ (() => { + +// Example starter JavaScript for disabling form submissions if there are invalid fields +$(function () { + var forms = document.querySelectorAll(".needs-validation"); // Loop over them and prevent submission + + Array.prototype.slice.call(forms).forEach(function (form) { + form.addEventListener("submit", function (event) { + if (!form.checkValidity()) { + event.preventDefault(); + event.stopPropagation(); + } + + form.classList.add("was-validated"); + }, false); + }); +}); + /***/ }), /***/ "./resources/beike/shop/default/js/common.js": @@ -2683,6 +2707,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _product__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_product__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./header */ "./resources/beike/shop/default/js/header.js"); /* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_header__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _bootstrap_validation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bootstrap-validation */ "./resources/beike/shop/default/js/bootstrap-validation.js"); +/* harmony import */ var _bootstrap_validation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_bootstrap_validation__WEBPACK_IMPORTED_MODULE_4__); window.bk = _common__WEBPACK_IMPORTED_MODULE_1__["default"]; @@ -2691,6 +2717,7 @@ var token = document.querySelector('meta[name="csrf-token"]').content; var base = document.querySelector('base').href; + $(document).ready(function ($) { $(document).on('click', '.offcanvas-products-delete', function () { var _this = this; diff --git a/resources/beike/admin/css/bootstrap/bootstrap.scss b/resources/beike/admin/css/bootstrap/bootstrap.scss index 208c9c53..d5a0c5f9 100644 --- a/resources/beike/admin/css/bootstrap/bootstrap.scss +++ b/resources/beike/admin/css/bootstrap/bootstrap.scss @@ -69,4 +69,9 @@ $alert-padding-y: 0.5rem; &:focus { box-shadow: none; } +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: $input-border-color; + background-image: none; } \ No newline at end of file diff --git a/resources/beike/admin/js/app.js b/resources/beike/admin/js/app.js index 079ea838..e454191c 100644 --- a/resources/beike/admin/js/app.js +++ b/resources/beike/admin/js/app.js @@ -3,6 +3,7 @@ window.$http = http; import common from "./common"; window.bk = common; import "./autocomplete"; +import "./bootstrap-validation"; const base = document.querySelector('base').href; const asset = document.querySelector('meta[name="asset"]').content; diff --git a/resources/beike/admin/js/bootstrap-validation.js b/resources/beike/admin/js/bootstrap-validation.js new file mode 100644 index 00000000..79f0c8ae --- /dev/null +++ b/resources/beike/admin/js/bootstrap-validation.js @@ -0,0 +1,20 @@ +// Example starter JavaScript for disabling form submissions if there are invalid fields +$(function () { + var forms = document.querySelectorAll(".needs-validation"); + + // Loop over them and prevent submission + Array.prototype.slice.call(forms).forEach(function (form) { + form.addEventListener( + "submit", + function (event) { + if (!form.checkValidity()) { + event.preventDefault(); + event.stopPropagation(); + } + + form.classList.add("was-validated"); + }, + false + ); + }); +}); diff --git a/resources/beike/admin/views/components/form/input-locale.blade.php b/resources/beike/admin/views/components/form/input-locale.blade.php index e02be2b0..b33c5da5 100644 --- a/resources/beike/admin/views/components/form/input-locale.blade.php +++ b/resources/beike/admin/views/components/form/input-locale.blade.php @@ -2,7 +2,10 @@ @foreach (locales() as $index => $locale)