Extjs5中HtmlEditor文字編輯器
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">系統使用Txtjs5自帶的HtmlEditor文字編輯器,資料庫對應欄位長度最大為200,文字編輯時,稍微加點樣式就超出限制了。</span>
要求:在前端驗證輸入長度,如果輸入過長,則提示,並無法提交。
HtmlEditor的並沒有提供像Text中可以設定MaxLength的配置。
看HtmlEditor的原始碼會發現,HtmlEditor繼承了Filed類,Field中有屬性:
Ext.define('Ext.form.field.Field', { mixinId: 'field', /** * @property {Boolean} isFormField * Flag denoting that this component is a Field. Always true. */ isFormField : true, config: { /** * @cfg {Boolean/String} validation * This property, when a `String`, contributes its value to the error state of this * instance as reported by `getErrors`. This property is implicitly bound when the * `value` of this field is bound based on `{@link Ext.Component#modelValidation}`. */ validation: null },
並且Field有方法:isValid()
isValid()!!有沒有很熟悉。isValid : function() { var me = this; return me.disabled || Ext.isEmpty(me.getErrors()); }, /** * Returns whether or not the field value is currently valid by {@link #getErrors validating} the field's current * value, and fires the {@link #validitychange} event if the field's validity has changed since the last validation. * **Note**: {@link #disabled} fields are always treated as valid. * * Custom implementations of this method are allowed to have side-effects such as triggering error message display. * To validate without side-effects, use {@link #isValid}. * * @return {Boolean} True if the value is valid, else false */ validate : function() { var me = this, isValid = me.isValid(); if (isValid !== me.wasValid) { me.wasValid = isValid; me.fireEvent('validitychange', me, isValid); } return isValid; },
form.isValid()~不知道form驗證的時候會不會跟這個有關係?
抱著試試看的態度,在HtmlEditor輸入發生變化的時候,修改了Validation配置,並在超出200(我們專案要求是200)後,做了提示:
change: { fn: function(editor, newValue, oldValue, eOpts) { if(newValue.length >= 200){ editor.setValidation('最大輸入限制200'); editor.setActiveError('最大輸入限制200'); }else{ editor.setValidation(null); editor.setActiveError(); } }, scope: me }, blur: { //在原始碼編輯模式下onchange事件不起作用,在失去焦點的時候判斷。 fn: function(editor) { if(editor.getValue().length >= 200){ editor.setValidation('最大輸入限制200'); editor.setActiveError('最大輸入限制200'); }else{ editor.setValidation(null); editor.setActiveError(); } }, scope: me }
然後輸入超出200.提示出來了,而且from沒有提交。偶也~
ps:繫結blur事件,是因為在原始碼編輯狀態輸入時,不知道為什麼HtmlEditor的change事件失效了,所以只好在失去焦點的時候進行判斷。
據說HtmlEditor的blur事件也失效,同事自己寫的。那些我就不懂了。
相關推薦
Extjs5中HtmlEditor文字編輯器
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">系統使用Txtjs5自帶的HtmlEditor文字編輯器,資料庫對應欄位
vue專案中富文字編輯器vue-quill-editor的使用
前端開發過程中,會遇到在頁面上加入富文字編輯器,在vue專案中開發遇到這一需求的時候,我們可以使用富文字編輯器vue-quill-editor,話不多說,先上一張效果圖: 1)安裝 vue-quill-editor 依賴 npm install vue
java中富文字編輯器的使用
一,首先要引入富文字編輯器的js 二,在你需要新增編輯器的jsp頁面中加入兩個js標籤引用 <script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all
linux中vim文字編輯器的常見用法
Vim是一款當前Linux系統中預設安裝的文字編輯器,它功能強大,熟練地掌握其基本的用法,會對Linux學習更加得心應手。 1.Vim的工作模式 vim共有三種模式: 1)命令模式:控制游標移動,可對文字進行復制、貼上、刪除和查詢等工作; 2)插入模式:可以正常編輯文字內容; 3
Django中富文字編輯器KindEditor的使用和圖片上傳
Blog中有文章Model,文章內容會包括各種格式的資料,比如:圖片、超連結、段落等。為了達到這個目的,我們可以使用富文字編輯器。我們有多重選擇來使用富文字編輯器,比如kindeditor、django-ckeditor、自定義ModelAdmin的媒體檔案。這樣就將kindeditor加上了富文字編輯器。4
【Linux】中預設文字編輯器 vim 的入門與進階
### Linux 基本操作 vim 篇 --- #### vim 簡介 ---- vim 是 Linux 上最基本的文字編輯工具,其地位像是 Windows 自帶的記事本工具,還要少數的 Linux 系統自帶 leafpad 編輯器,leafpad 的操作介面更像是 Win 的記事本,可以使用滑
Vue中如何引入CKeditor 文字編輯器
1、下載編輯器包:https://www.npmjs.com/package/ckeditor 2、放到靜態資源目錄中 在index.html中引入檔案ckeditor.js <script src='static/ckeditor/ckeditor.js' type="
在網頁中使用富文字編輯器editor+vue
先下載一個富文字編輯器(官網地址) 在vue中新建一個editor.vue <template> <div> <script id="editor" type="text/plain"></script> </div
Python中mysql資料庫儲存富文字編輯器中的內容
使用python 模組MySQLdb自帶的針對mysql的字元轉義函式 escape_string """insert into csdn_test(message) VALUES("%s");""" % (pymysql.escape_string(item['content']))
vue中引入wangEditor富文字編輯器
1.wangEditor —— 輕量級 web 富文字編輯器,配置方便,使用簡單。支援 IE10+ 瀏覽器。 下載wangEditor:npm install wangeditor(英文小寫) 官網:www.wangEditor.com 文件:www.kancloud.cn/wa
vue中同時使用element元件的upload上傳圖片和wangEditor富文字編輯器
1.wangEditor —— 輕量級 web 富文字編輯器,配置方便,使用簡單。支援 IE10+ 瀏覽器。 下載wangEditor:npm install wangeditor(英文小寫) 官網:www.wangEditor.com 文件:www.kancloud.cn/wa
Qt中文字編輯器實現語法高亮功能(Qscitinlla)
Qt中文字編輯器實現語法高亮功能(Qscitinlla) Scintilla是一個免費、跨平臺、支援語法高亮的編輯控制元件。它完整支援原始碼的編輯和除錯,包括語法高亮、錯誤指示、程式碼完成(code completion)和呼叫提示(call tips)。能包含標記(marker)的頁邊(mar
讓富文字編輯器支援複製doc中多張圖片直接貼上上傳
Chrome+IE預設支援貼上剪下板中的圖片,但是我要釋出的文章存在word裡面,圖片多達數十張,我總不能一張一張複製吧? 我希望開啟文件doc直接複製貼上到富文字編輯器,直接釋出 感覺這個似乎很困難,因為Ueditor本身不支援,粘貼後直接就是空白,這裡面一定有原因。 好,開始嘗試UM
在Django的admin中使用富文字編輯器 CKEditor
開發環境 : Python 3.5 Django 1.11 CKEditor安裝: pip install django-ckeditor Django的settings.py中的註冊和配置 在INSTALL_APP進行註冊: ‘cked
vue2.0專案中使用百度Ueditor富文字編輯器
1.首先下載靜態檔案 https://ueditor.baidu.com/website/download.html 2.然後,進行配置 首先把官網下載的Ueditor資源,放入靜態資源src/static中。 修改ueditor.config.js中的window.UEDITO
Go語言環境安裝,驗證go語言環境、使用文字編輯器編寫一個go hello world,Go lang IDE安裝,在golang中新建一個go程式
1 Golang語言環境安裝包下載 https://www.golangtc.com/ 下載: go1.9.2.windows-amd64.msi 和 go1.9.2.windows-amd64.zip 2 golang語言環境安裝 本筆記使用go1.10.2.window
angularjs中簡單使用kindeditor富文字編輯器
如何在angularjs中快速使用kindeditor富文字編輯器 ? 先引入相關的css樣式和js檔案: <!-- 富文字編輯器 --> <link rel="stylesheet" href="../plugins/kindedit
Mac 中較好解決文字編輯器執行程式碼出現中文亂碼問題
此方法針對-Mac終端UTF-8編碼方式下,部分軟體(比如 Visual Studio code, Eclipse時)執行程式碼時出現中文亂碼的問題。 問題引入: 很迷惑的一件事,Mac終端是UTF-8編碼方式,卻在部分軟體執行外界程式碼(這裡指的是像win
正則化與萬用字元便於查詢和替換批量處理,使用在word,notepad++等文字編輯器中
我們常常使用查詢替換的方式來處理相關資料,可是當你要批量替換隻用一些相同字元分文字時,就會顯得很笨拙。 比如: Line 5974: DI 10.13182/NT96-A15844 Line 6078: DI 10.1109/ISIC.1996.55623
Vue專案中使用ueditor富文字編輯器(一)
Ueditor專案下載地址:http://ueditor.baidu.com/website/ 這裡使用php版本(如果後端是java就下載完整版和php版,在完整原始碼版中有java的程式碼,