Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JavaScript中的规则引擎

JavaScript中的规则引擎
EN

Stack Overflow用户
提问于 2011-10-05 04:31:31
回答 3查看 13.3K关注 0票数 23

JavaScript中有规则引擎吗?

问题是在这方面:

  • 假设一个web应用程序有一个用户填充的表单。
  • 当用户填充每个字段并进入下一个字段时,用JavaScript编写的业务逻辑控制表单元素在页面下的可见性(和其他属性)。
  • 提交表单后,服务器端也会应用相同的业务逻辑,尽管是在Java中,以防止浏览器端的任何意外/操作。
  • 现在,如果我们有一个JSR 94/Drools/JRules (类似于规则引擎),在Java和JavaScript中执行规则,这不是很好吗?使用这样的规则引擎,我可以避免硬编码我的规则,我还保留了客户端和服务器端验证的灵活性。

(PS:我尝试过AJAX路由,发现应用程序的响应能力大大降低,这使得已经习惯了手工编码的纯javascript版本的用户很难销售。)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-05 04:35:23

JSR-94是一种Java规范,所以我不认为它与浏览器有什么关系。

有Google规则:

http://code.google.com/p/jsonrules/

你说你试过AJAX路线。这是否意味着服务器上运行的规则引擎和访问它的异步调用?

票数 8
EN

Stack Overflow用户

发布于 2014-07-01 20:40:27

这是一个有效的问题。来自这篇文章,JSR 94

不标准化如下:规则引擎本身、规则的执行流程、用于描述规则的语言、Java技术的部署机制

因此,可以使用可以在客户端和服务器上执行的DSL,并且可以按照JSR 94体系结构进行开发、执行和管理。或者不是。

另一篇文章使用Java脚本API创建一个简单的规则引擎使用JSR-233和其他东西来创建规则引擎系统。然而,这早于JSR 94。

我来到这个堆栈溢出页面,因为我也在寻找解决方案。目前,我有一个页面要在客户端进行验证,其中字段组可以触发不同的验证规则,并且需求正在发生变化。用命令式代码编写它只会造成高度圈复杂度的混乱。

然而,最简单的方法是使用许多JavaScript表单验证库中的一个。还在找。

票数 4
EN

Stack Overflow用户

发布于 2011-10-05 05:00:49

由于javascript位于浏览器中,所以用户很容易检查源代码并绕过任何js验证机制。这就是为什么它通常是在服务器端完成的。

这很痛苦,但我通常会在javascript和服务器上实现验证,这样“正常”用户就会得到快速响应,“黑客”将被排除在系统之外。不幸的是,我认为如果您想要良好的用户体验和良好的安全性,就需要这样做。

为了回答您的问题,据我所知,在客户端和服务器端都不能使用公共库。

PS。记住JavaScript不是Java!:-) Java

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7661322

复制
相关文章
改装平板电脑
改装 Tips:这个平板点是高中买的一直闲置,刚开机电池不行了,屏幕的中空的,密封不行,里面全是里面全是尘土,绝了。作为技术宅男,不做点什么,都对不起这个平板。 清理 把整个平板电脑拆的七零八碎,各种清灰。 组装 把零件装回去。 修电池 这个平板长时间不用,电池已经放的无法使用,正好昨天有一块手机电池接口出问题了。索性就把电池给他换到平板上,But。 这个借口不一样啊,最后动用暴力大法。强拆电池,换电池板。过程没有照相,但是残余还是有点的。哈哈/// 最后 都修好了 然而 充电器找不到了 充电口比较破 淘宝
歪先生
2018/07/19
1.5K0
Mobile Detect:移动设备(手机和平板)检测的 PHP 类库
Mobile Detect 是一个轻量级的开源移动设备(手机和平板)检测的 PHP Class,它使用 User-Agent 中的字符串,并结合 HTTP Header,来检测移动设备环境。这个设备检测的 PHP 类库最强大的地方是,它有一个非常完整的库,可以检测出所用的设备类型(包括操作类型,以及手机品牌等都能检测)和浏览器的详细信息。
Denis
2023/04/14
1.1K0
Mobile Detect:移动设备(手机和平板)检测的 PHP 类库
平板远程控制电脑_平板远程桌面
当下的局势,移动办公已经成为主流,远程控制工具也成为了我们日常办公不可或缺的软件。
全栈程序员站长
2022/11/01
2.4K0
平板远程控制电脑_平板远程桌面
可折叠设备、平板设备和大屏设备更新一览
作者 / Oscar Wahltinez, Developer Relations Engineer, Google
Android 开发者
2022/03/09
2.1K0
可折叠设备、平板设备和大屏设备更新一览
平板电脑安装Ubuntu教程
最近尝试在昂达V975w平板电脑和intel stick中安装ubuntu,经过分析,发现存在一个非常大的坑。但因为这个坑,此教程适合大部分平板电脑、电脑棒、intel nuc设备安装Ubuntu。
用户8710643
2021/06/09
2.6K0
不过如此的小米平板电脑
2014年的双11,小米平板电脑狂销2.2万台,名列平板电脑单品第一。表面看似风光,如与小米手机一比则销量差之千里。截止到2014年9月小米平板销量55万,远没有一个季度1800万的小米手机风光,在官网之外,出货量也只有9万台。这个数字如是一家普通平板公司也许活得很好,但对于手机风光无限的小米来说,这个成绩并不漂亮。要知道第三季度三星平板电脑出货990万台,华硕、联想也分别卖了350万台和300万台。
曾响铃
2018/08/20
9990
中国平板电脑用户行为报告
小伙伴们平时都是怎么使用平板电脑的?有没有被砸过脸呢?快来看一下腾讯2014中国平板电脑用户行为报告吧,看看有多少小伙伴和你是一样的:
腾讯大讲堂
2018/02/11
1.6K0
中国平板电脑用户行为报告
android平移动画闪烁问题
当我们应用android平移动画时,一般会给动画一个监听,当动画结束时,会将view的位置重新绘制到我们想要的位置,因为平移动画并没与真的改变控件的实际位置. 代码如下:
夏洛克的猫
2018/10/18
2.1K0
android 平板重装系统,平板电脑系统重装方法「建议收藏」
不少用户想要平板电脑重装,但是不知如何操作,为此有些为难。平板电脑是跟笔记本电脑方便携带出现的物品,不会意味着台式机电脑会退出电脑界,2020年新的开始新的一年,让许多的电脑品牌竞争激烈起来。平板电脑也叫便携式电脑,是一款以触摸屏作为基本的输入设备,无须翻盖、没有键盘、小到放入女士手袋,但是却功能完整的PC。可是满不满足可以重装系统的条件,下面小编整理了平板装系统的方法。
全栈程序员站长
2022/07/28
9K0
android 平板重装系统,平板电脑系统重装方法「建议收藏」
【图观数据】中国平板电脑用户行为报告:46%的用户曾被平板砸过脸
在智能手机普及和功能强大的今天,平板还能坚持这个数,咱们平板商家该偷笑了! 这个完全看的出来安卓价格的便宜啊,一台IPAD的能换国产的几个平板了。 果然泡妞神器之类的东东是最需要加密的,呵呵,你懂
小莹莹
2018/04/20
1.7K0
【图观数据】中国平板电脑用户行为报告:46%的用户曾被平板砸过脸
Surface平板电脑使用ROS2Go
首先需要设置U盘启动:https://support.microsoft.com/zh-cn/help/4023511/surface-boot-surface-from-a-usb-device
zhangrelay
2019/03/04
1.2K0
Surface平板电脑使用ROS2Go
电脑技巧:如何彻底关闭电脑右下角闪烁弹窗广告?
我们经常在使用电脑或者玩游戏的时候,经常会有一些广告弹窗的骚扰,这让我们使用很不爽。那么出现Win10电脑右下角闪烁弹窗广告怎么办?今天小编给大家介绍一下,如何彻底关闭这些令人讨厌的弹窗广告,还大家一个干净的上网环境。
小明互联网技术分享社区
2022/04/07
6.4K0
电脑技巧:如何彻底关闭电脑右下角闪烁弹窗广告?
将平板电脑作为自己的笔记本扩展屏幕
因为自己最近在学一些东西,然后在看视频的同时还要在VS Code里面操作,笔记本是15.6寸的屏幕,视频界面和VS Code的界面再分一下,本来就没多大的显示器,分完每个的部分的显示都很别扭,真的很伤。
岳泽以
2022/10/26
4.5K0
将平板电脑作为自己的笔记本扩展屏幕
SceneKit-解决锯齿闪烁和模型重叠时闪烁的问题
多重采样抗锯齿,具体是MSAA只对Z缓存[Z-Buffer]和模板缓存(Stencil Buffer)中的数据进行超级采样抗锯齿的处理。可以简单理解为只对多边形的边缘进行抗锯齿处理
酷走天涯
2019/06/11
2.4K0
用树莓派制作一台平板电脑
我在使用树莓派时通常是用VGA或者HDMI接口和显示器相连,但是这样体积太大了,携带也不方便。如果使用液晶触摸屏的话应该会很酷吧?所以,我决定试试。 通过无线键盘/触摸板,减小了很多所需的空间。 现在市场上有很多树莓派触控解决方案,我选择了(https://www.raspberrypi.org/blog/the-eagerly-awaited-raspberry-pi-display/)这篇文章中使用的方案。 显示板连接到显示器背面: 我在https://www.adafruit.com/p
FB客服
2018/02/07
3K0
用树莓派制作一台平板电脑
新神器,平板写代码!出差不用带电脑!
近日,微软推出了 Visual Studio Code Server ,这是一项在远程开发机器上运行的后端服务。用户可以将该服务安装在任何位置(本地开发机器、云 VM 等),然后使用 VS Code 网页版(vscode.dev)通过浏览器安全地连接到该远程计算机上进行开发,无需设置麻烦的 SSH 或 https 。
搜云库技术团队
2023/03/15
3K0
新神器,平板写代码!出差不用带电脑!
【漏洞细节】VTech平板电脑:多个数据泄露的隐患暗藏
在最近的VTech数据泄露事件后,大家或许认为VTech的电子玩具安全性不会比现在更糟糕了。然而就在这种情况下,我们又发现了两个漏洞,黑客可以从孩子们的Innotab平板里攫取数据。 刷机模式窃取数据 对于丢失、被盗或者转售的平板电脑,黑客可以获取里面储存的密码、PIN码、邮件地址、应用数据,以及机器名等等。 现在让我们来拆拆看,到底我们能从里面找到什么呢? 上图是我们的老朋友RockChip CPU,型号不太清晰,似是RK3188。这里附上对它的介绍,我们继续往下看: 大多数像这样的设备需要一个
FB客服
2018/02/07
9500
【漏洞细节】VTech平板电脑:多个数据泄露的隐患暗藏
移动端一个奇怪的触摸bug
这两天遇到一个很奇怪的bug,在移动端,一个页面里所有的input框都不能点击,我查了一下,里面的没有设置readonly属性,只要页面滚动一下就可以用了,而且,只要我在真机测试的时候,f12开发者模式下,一旦选中这个元素也可以点击了,很奇怪,结果我就去公共样式里排查,home.css。结果定位到了这么一段我很不熟悉的代码片段 /* -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -moz-tap-highlig
windseek
2018/06/21
6790
LiveData 非粘性消息的探索和尝试
LiveData 默认是支持粘性消息的(关于什么是粘性消息,请移步我的另一篇文章:LiveData 的正确使用姿势以及反模式 ),如何通过 LiveData 来实现非粘性消息呢,本文将在官博的基础上,分析几种尝试的方案,以及他们各自的优缺点
GeeJoe
2021/12/09
9830
【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )
Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源 ;
韩曙亮
2023/03/30
7.1K0
【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )

相似问题

检测移动设备和平板电脑设备

41

移动和平板电脑设备测试

12

检测移动或平板电脑设备

30

复制平板电脑和移动设备的mousemove()事件

10

在平板电脑和移动设备中隐藏lightbox

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文