s:textfield reqiuredString 验证框架 validators 无法将页面的输入值赋值给action中的属性?

s:textfield reqiuredString 验证框架 validators

无法将页面的输入提交值赋值给action中的属性?

日志:

在输入提交页面中:
<s:textfield name ="reqiuredString" label ="Required String" />

在验证框架的相应xml文件中:
<validators > 
    <field name ="reqiuredString"> 
        <field-validator type ="requiredstring"> 
            <message> This string is required </ message> 
        </field-validator > 
    </field> 
</validators>


不知道是不是起的名字的缘故?使用reqiuredString时,老是无法给action的属性赋值,而把textfield

中的reqiuredString,action类中的属性reqiuredString以及验证框架中的reqiuredString,改为rString后,却能正确显示。注意到这里,requiredString与validator中的type ="requiredstring"很像,相差一个字母的大小写,不知道这个会不会是原因?

另外,如果在action中给rString的set、get、execute方法中添加 System输出语句 后发现,如果提交输

入的页面与result页面是不一样的,则会相应执行set、execute、get方法,如果是一样的,则会执行set

、execute、get、get方法,不知道为什么居然会执行两次get?

大家如果知道了,请告诉我!

在Qt Quick(QML),如果你有一个从C++侧传入的字符串,并想要将其赋值给`TextField`的文本内容,你可以通过信号槽机制或者直接使用绑定(binding)来实现。这里提供两种常见的方式: **1. 使用C++信号和QML信号槽连接** 首先,在C++代码创建一个QString变量并设置其,然后发射一个信号将这个字符串传递到QML。 ```cpp #include <QObject> // 假设你在C++有一个QObject派生的类MyObject class MyObject : public QObject { public: Q_OBJECT explicit MyObject(QObject *parent = nullptr) : QObject(parent) {} ~MyObject() {} signals: void stringDataChanged(const QString &data); // 发射信号 private: QString mData; }; // 设置字符串后发射信号 void MyClass::setStringData(QString str) { mData = str; emit stringDataChanged(mData); } ``` 在QML文件,你需要订阅这个信号并在接收到时更新`TextField`: ```qml import QtQuick 2.0 import QtQuick.Controls 2.0 MyObject { id: cppObj } TextField { id: textField text: cppObj.stringDataChanged.connect(function(str) { return str; }) // 通过函数连接信号处理 } ``` **2. 使用QML绑定** 如果C++对象已经作为属性暴露给了QML,可以直接使用绑定来关联文本字段: ```cpp // 在C++,假设MyObject有stringData属性 class MyObject : public QObject { public: Q_PROPERTY(QString stringData READ stringData NOTIFY stringDataChanged) // ...其他代码... signals: void stringDataChanged(); private: QString mStringData; }; // ... MyObject { id: cppObj stringData: "初始字符串" } // 在构造时设置初始 TextField { id: textField text: cppObj.stringData // 直接绑定到stringData属性 } ``` 当`stringData`在C++改变时,`TextField`的`text`也会自动更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值