如何检查 textarea (tinymce) 是否只包含 space?
How can I check if textarea (tinymce) only contains space?
我有一个使用 Tinymce 的表单,我需要检查它是否只包含 space。
我试试用这个功能
function validation_form()
{
var content = tinyMCE.get('main-comment').getContent().replace(' ','');
if(content == "" || content == null || content == '<p> </p>') {
return false;
}
}
但是它 returns true 当我输入几个 spaces 并提交时,我希望它成为 return false。
谁能帮帮我?
谢谢,
-- 原来写在PHP --
function validation_form()
{
var content = $.trim(tinyMCE.get('main-comment').getContent());
if(content.length == 0) {
return false;
}
return true;
}
正确@A.T
使用$.trim,
它干净且可读。
function validation_form()
{
var content = $.trim(tinyMCE.get('main-comment').getContent({format: 'text'}));
if(content.length == 0) {
return false;
}
return true;
}
更新:格式为文本,以从编辑器获取文本内容。 check fiddle
您可以使用javascript的trim
方法。
function validation_form()
{
var content = tinyMCE.get('main-comment').getContent().replace(' ','').trim();
if(content == "" || content == null || content == '<p> </p>') {
return false;
}
}
更多信息请查看here
使用 Angular 响应式表单验证时的相同解决方案
在打字稿文件中提供此自定义验证器函数
emptyLinesValiadtor(control:FormControl):{[s:string]:boolean} | null {
let content = control.value.replaceAll(/ /gm,'')
.trim().split(" ").join("").replaceAll('<p></p>','').trim();
if(content == "" || content == null) {
return {'emptyLines': true}
}
return null;
}
在你的 Reactive 形式中 builder/declaration
this.formName= this.formBuilder.group({
textArea:['',this.emptyLinesValiadtor]
});
在您的模板表单中
<div
*ngIf="sForm.submitted && f.textArea.errors">
<div *ngIf="f.textArea.errors.emptyLines">
<div>Answer cannot contain empty lines/spaces</div>
</div>
</div>
其中 sform 是引用变量,f 是如下所示的 typescript get 方法
get f() {
return this.formName.controls;
}
我有一个使用 Tinymce 的表单,我需要检查它是否只包含 space。
我试试用这个功能
function validation_form()
{
var content = tinyMCE.get('main-comment').getContent().replace(' ','');
if(content == "" || content == null || content == '<p> </p>') {
return false;
}
}
但是它 returns true 当我输入几个 spaces 并提交时,我希望它成为 return false。
谁能帮帮我? 谢谢,
-- 原来写在PHP --
function validation_form()
{
var content = $.trim(tinyMCE.get('main-comment').getContent());
if(content.length == 0) {
return false;
}
return true;
}
正确@A.T
使用$.trim,
它干净且可读。
function validation_form()
{
var content = $.trim(tinyMCE.get('main-comment').getContent({format: 'text'}));
if(content.length == 0) {
return false;
}
return true;
}
更新:格式为文本,以从编辑器获取文本内容。 check fiddle
您可以使用javascript的trim
方法。
function validation_form()
{
var content = tinyMCE.get('main-comment').getContent().replace(' ','').trim();
if(content == "" || content == null || content == '<p> </p>') {
return false;
}
}
更多信息请查看here
使用 Angular 响应式表单验证时的相同解决方案
在打字稿文件中提供此自定义验证器函数
emptyLinesValiadtor(control:FormControl):{[s:string]:boolean} | null {
let content = control.value.replaceAll(/ /gm,'')
.trim().split(" ").join("").replaceAll('<p></p>','').trim();
if(content == "" || content == null) {
return {'emptyLines': true}
}
return null;
}
在你的 Reactive 形式中 builder/declaration
this.formName= this.formBuilder.group({
textArea:['',this.emptyLinesValiadtor]
});
在您的模板表单中
<div
*ngIf="sForm.submitted && f.textArea.errors">
<div *ngIf="f.textArea.errors.emptyLines">
<div>Answer cannot contain empty lines/spaces</div>
</div>
</div>
其中 sform 是引用变量,f 是如下所示的 typescript get 方法
get f() {
return this.formName.controls;
}